FrameworkElement.FindResource(Object) メソッド

定義

指定したキーを持つリソースを検索し、要求されたリソースが見つからない場合は例外をスローします。

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

要求されたリソースのキー識別子。

返品

要求されたリソース。 指定されたキーを持つリソースが見つからなかった場合は、例外がスローされます。 例外の場合は、 UnsetValue 値も返される場合があります。

例外

resourceKey が見つからないため、 UnhandledException イベントのイベント ハンドラーが存在しません。

-または-

resourceKeyが見つからず、UnhandledException イベントで Handled プロパティがfalse

resourceKeynullです。

次の例では、名前付きリソースを取得し、それを適切な型にキャストしてプロパティを塗りつぶします。

void SetBGByResource(object sender, RoutedEventArgs e)
{
  Button b = sender as Button;
  b.Background = (Brush)this.FindResource("RainbowBrush");
}
Private Sub SetBGByResource(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim b As Button = TryCast(sender, Button)
  b.Background = CType(Me.FindResource("RainbowBrush"), Brush)
End Sub

注釈

Important

見つからないキーに対してこのメソッドを呼び出すと、例外がスローされます。 FindResourceの呼び出しによって発生する例外を処理しない場合は、代わりにTryFindResourceを呼び出します。 TryFindResource は、要求されたリソースが見つからないときに null を返し、例外をスローしません。

呼び出し元の要素でリソースが見つからない場合は、論理ツリー内の親要素が次に検索され、次にアプリケーション、テーマ、最後にシステム リソースが検索されます。 このルックアップ手法は、マークアップの動的リソース参照によってリソースが要求された場合のツリーの検索方法と同じです。 リソース参照の詳細については、「 XAML リソース」を参照してください。

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

リソース キーは必ずしも文字列ではありません。 たとえば、テーマ レベルのコントロールのスタイルは、コントロールの Type に意図的にキーが設定され、コントロールのアプリケーションまたはページ スタイルでは通常、この同じキー規則が使用されます。 詳細については、「 スタイル設定とテンプレート 」または 「XAML リソース」を参照してください。

適用対象

こちらもご覧ください