FrameworkElement.TryFindResource(Object) メソッド

定義

指定されたキーを使用してリソースを検索し、見つかった場合はそのリソースを返します。

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

パラメーター

resourceKey
Object

検索するリソースのキー識別子。

戻り値

見つかったリソース。指定した key のリソースが見つからない場合は null

次の例は、ボタン ハンドラーとして実装されています。このハンドラーでは、クリックされるボタンによって、その背景が、それ自体で を呼び出 TryFindResource すことによって取得されたリソース定義のブラシに設定されます。 これにより、要素ツリーが歩き、リソースが検索されます (リソース自体は XAML で定義され、表示されません)。

void TryFind(object sender, RoutedEventArgs e)  {
    Button b = e.Source as Button;
    b.Background = (Brush)b.TryFindResource("customBrush");
}
Private Sub TryFind(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim b As Button = TryCast(e.Source, Button)
    b.Background = CType(b.TryFindResource("customBrush"), Brush)
End Sub

注釈

呼び出し元の要素でリソースが見つからない場合、実行時にリソースがキーによって要求された場合にツリーが検索されるのと同じ方法で、親リソース ツリーが論理ツリーを介して上方向に検索されます。 メソッドは、呼び出された時点でツリーの既存の条件に従って、そのキーのリソースがTryFindResourceリソース ツリー内のどこにも存在しない場合にのみを返nullします。

通常は、戻り値を、返されたリソース値で設定しようとしたプロパティの型にすぐにキャストします。

メソッドの動作は FindResource 似ていますが、指定されたキーを持つリソースが返されなかった場合に例外がスローされる点が異なります。

適用対象

こちらもご覧ください