FrameworkContentElement.TryFindResource(Object) FrameworkContentElement.TryFindResource(Object) FrameworkContentElement.TryFindResource(Object) FrameworkContentElement.TryFindResource(Object) Method


指定されたキーを使用してリソースを検索し、見つかった場合はそのリソースを返します。Searches for a resource with the specified key, and returns that resource if found.

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


Object Object Object Object

検索するリソースのキー識別子。Key identifier of the resource to be found.


見つかったリソース。The found resource. リソースが見つからなかった場合は、null が返されます。If no resource was found, null is returned.

次の例では、マークアップで定義されているリソースを検索し、ルーティング イベントへの応答内の要素の特定のプロパティに適用されます。The following example finds a resource as defined in markup and applies it to a certain property of an element in response to a routed event.

void SetBGByResourceTry(object sender, RoutedEventArgs e)
    Block b = sender as Block;
    b.Background = (Brush)this.TryFindResource("RainbowBrush");
Private Sub SetBGByResourceTry(ByVal sender As Object, ByVal e As RoutedEventArgs)
 Dim b As Block = TryCast(sender, Block)
 b.Background = CType(Me.TryFindResource("RainbowBrush"), Brush)
End Sub


ツリーになるのと同じ方法で、論理ツリーを使用して、親のツリーを検索する呼び出し元の要素で、リソースが見つからない場合、動的リソース参照が実行時にキーによって要求された場合に検索します。If the resource is not found on the calling element, the parent tree is searched using the logical tree, in the same way that the tree would be searched if a dynamic resource reference were requested by key at run-time.

通常返されるリソース値に設定しようとしているプロパティの型を戻り値をキャストするとすぐに。Typically you would immediately cast the return value to the type of the property that you were attempting to set with the returned resource value.

FindResourceメソッドには同様の動作がある点が異なりますで指定されたキーを持つリソースが見つからない場合、例外がスローされます。The FindResource method has similar behavior, except that it will throw an exception in the case of not finding a resource with the provided key.