FrameworkElement.FindResource(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以指定的索引鍵搜尋資源,如果找不到要求的資源時會擲回例外狀況。
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
,而且 Handled 屬性是 UnhandledException 事件中的 false
。
resourceKey
為 null
。
範例
下列範例會取得具名資源,並將它轉換成適當的類型以填滿屬性。
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
備註
重要
如果您針對找不到的索引鍵呼叫這個方法,則會擲回例外狀況。 如果您不想處理呼叫 所產生的例外狀況,請改為呼叫 FindResourceTryFindResource 。
TryFindResource
null
當找不到要求的資源,而且不會擲回例外狀況時,會傳回 。
如果在呼叫元素上找不到資源,則接下來會搜尋邏輯樹狀結構中的父元素,然後搜尋應用程式、主題,最後是系統資源。 如果標記中的動態資源參考要求資源,此查閱方法與樹狀結構搜尋方式相同。 如需資源查閱的詳細資訊,請參閱 XAML 資源。
一般而言,您會立即將傳回值轉換成 FindResource 您使用傳回的資源值設定的屬性類型。
資源索引鍵不一定是字串。 例如,主題層級控制項的樣式會刻意為 Type 控制項的 索引鍵,而控制項的應用程式或頁面樣式通常會使用相同的索引鍵慣例。 如需詳細資訊,請參閱 樣式設定和範本 化或 XAML 資源。