FrameworkElement.TryFindResource(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以指定的索引鍵搜尋資源;如果找到,則傳回該資源。
public:
System::Object ^ TryFindResource(System::Object ^ resourceKey);
public object TryFindResource (object resourceKey);
member this.TryFindResource : obj -> obj
Public Function TryFindResource (resourceKey As Object) As Object
參數
- resourceKey
- Object
要尋找之資源的索引鍵識別項。
傳回
找到的資源,如果找不到具有所提供之 key
的資源,則為 null
。
範例
下列範例會實作為按鈕處理常式,其中按一下的按鈕會將其背景設定為藉由呼叫 TryFindResource 本身取得的資源定義筆刷。 這會逐步執行專案樹狀結構,並尋找資源本身定義于 XAML 中的資源 (,而且不會顯示) 。
void TryFind(object sender, RoutedEventArgs e) {
Button b = e.Source as Button;
b.Background = (Brush)b.TryFindResource("customBrush");
}
Private Sub TryFind(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim b As Button = TryCast(e.Source, Button)
b.Background = CType(b.TryFindResource("customBrush"), Brush)
End Sub
備註
如果在呼叫專案上找不到資源,父資源樹狀結構會向上搜尋邏輯樹狀結構,就像在執行時間由索引鍵要求資源時搜尋樹狀結構一樣。 只有在資源樹狀結構中沒有任何資源存在該索引鍵時,方法才會傳回 null
,根據呼叫時樹狀結構的現有條件 TryFindResource 。
一般而言,您會立即將傳回值轉換成您嘗試以傳回的資源值設定的屬性類型。
方法 FindResource 具有類似的行為,但如果沒有傳回具有所提供索引鍵的資源,則會擲回例外狀況。