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 值。

例外狀況

找不到 resourceKeyUnhandledException 事件的事件處理常式也不存在。

-或-

找不到 resourceKey,而且 Handled 屬性是 UnhandledException 事件中的 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

備註

重要

如果您針對找不到的索引鍵呼叫這個方法,則會擲回例外狀況。 如果您不想處理呼叫 所產生的例外狀況,請改為呼叫 FindResourceTryFindResourceTryFindResourcenull當找不到要求的資源,而且不會擲回例外狀況時,會傳回 。

如果在呼叫元素上找不到資源,則接下來會搜尋邏輯樹狀結構中的父元素,然後搜尋應用程式、主題,最後是系統資源。 如果標記中的動態資源參考要求資源,此查閱方法與樹狀結構搜尋方式相同。 如需資源查閱的詳細資訊,請參閱 XAML 資源

一般而言,您會立即將傳回值轉換成 FindResource 您使用傳回的資源值設定的屬性類型。

資源索引鍵不一定是字串。 例如,主題層級控制項的樣式會刻意為 Type 控制項的 索引鍵,而控制項的應用程式或頁面樣式通常會使用相同的索引鍵慣例。 如需詳細資訊,請參閱 樣式設定和範本 化或 XAML 資源

適用於

另請參閱