Application.FindResource(Object) メソッド

定義

または BrushなどのStyleユーザー インターフェイス (UI) リソースを指定したキーで検索し、要求されたリソースが見つからない場合は例外をスローします (「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 次にシステム リソースを検索します。 システム リソースは、ユーザーによって定義されたシェル リソースであり、色、フォント、シェル構成が含まれます。 これらは、および SystemParameters の各型からSystemFontsSystemColors静的プロパティとして公開されます。 これらの型を使用 FindResource して取得するために、 に渡 FindResourceされるように設計されたリソース キー プロパティも公開されます。たとえば、 IconWidthKeyです。

は オブジェクトを返すので FindResource 、リソースが見つかった場合は、返された値を適切な型にキャストする必要があります。

重要

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

このメソッドはスレッド セーフであり、任意のスレッドから呼び出すことができます。

適用対象

こちらもご覧ください