Поделиться через


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 , если запрошенный ресурс не найден, и не создает исключение.

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

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

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