英語で読む

次の方法で共有


FrameworkElement.FindResource(Object) メソッド

定義

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

C#
public object FindResource(object resourceKey);

パラメーター

resourceKey
Object

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

戻り値

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

例外

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

- または -

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

resourceKeynullです。

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

C#
void SetBGByResource(object sender, RoutedEventArgs e)
{
  Button b = sender as Button;
  b.Background = (Brush)this.FindResource("RainbowBrush");
}

注釈

重要

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

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

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

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

適用対象

製品 バージョン
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

こちらもご覧ください