Application.FindResource(Object) Метод

Определение

Выполняет поиск ресурса пользовательского интерфейса, например Style или Brush, с указанным ключом и создает исключение, если запрошенный ресурс не найден (см. раздел Ресурсы XAML).

public:
 System::Object ^ FindResource(System::Object ^ resourceKey);
public object FindResource (object resourceKey);
member this.FindResource : obj -> obj
Public Function FindResource (resourceKey As Object) As Object

Параметры

resourceKey
Object

Имя искомого ресурса.

Возвращаемое значение

Запрошенный объект ресурса. Если ресурс не найден, генерируется ResourceReferenceKeyNotFoundException.

Исключения

Невозможно найти ресурс.

Примеры

В следующем примере показано, как использовать FindResource для поиска ресурса и обработки ResourceReferenceKeyNotFoundException , если ресурс не найден.

void findResourceButton_Click(object sender, RoutedEventArgs e) {
  try {
    object resource = Application.Current.FindResource("UnfindableResource");
  }
  catch (ResourceReferenceKeyNotFoundException ex) {
    MessageBox.Show("Resource not found.");
  }
}
Private Sub findResourceButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Try
    Dim resource As Object = Application.Current.FindResource("UnfindableResource")
  Catch ex As ResourceReferenceKeyNotFoundException
    MessageBox.Show("Resource not found.")
  End Try
End Sub

Комментарии

FindResource сначала будет искать указанный ресурс в ресурсах области приложения. Ресурсы области приложения управляются Applicationи предоставляются из Resources свойства . Если указанный ресурс не найден в наборе ресурсов области приложения, FindResource затем выполняется поиск системных ресурсов. Системные ресурсы — это ресурсы оболочки, определенные пользователем, и включают цвета, шрифты и конфигурации оболочки. Они предоставляются из SystemColorsтипов , SystemFontsи SystemParameters соответственно, в виде статических свойств. Чтобы использовать FindResource их для их получения, эти типы также предоставляют свойства ключа ресурса, которые предназначены для передачи FindResourceв , например IconWidthKey.

Так как FindResource возвращает объект, необходимо привести возвращаемое значение к соответствующему типу, если ресурс найден.

Важно!

При вызове этого метода для ключа, который не удается найти, возникает исключение. Если вы не хотите обрабатывать исключения, которые возникают в результате вызова FindResource, вместо этого вызовите TryFindResource ; TryFindResource возвращает ссылку null , если запрошенный ресурс не удается найти, и не создает исключение.

Этот метод является потокобезопасным и может вызываться из любого потока.

Применяется к

См. также раздел