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
要找到的資源的金鑰識別碼。
傳回
找到的資源,或者 null 如果沒有包含該資源 resourceKey 的資源,則不被找到。
範例
以下範例實作為按鈕處理程序,點擊的按鈕會將其背景設定為由自身呼叫 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 方法的行為類似,但若未回傳包含該金鑰的資源,則會拋出例外。