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
, если запрошенный ресурс не найден, и не создает исключение.
Этот метод является потокобезопасным и может вызываться из любого потока.