FrameworkElement.FindResource(Object) 方法

定義

以指定的索引鍵搜尋資源,如果找不到要求的資源時會擲回例外狀況。

C#
public object FindResource(object resourceKey);

參數

resourceKey
Object

所要求資源的索引鍵識別項。

傳回

要求的資源。 如果找不到含有所提供索引鍵的資源,便會擲回例外狀況。 在擲回例外狀況時,可能也會傳回 UnsetValue 值。

例外狀況

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

-或-

找不到 resourceKey,而且 Handled 屬性是 UnhandledException 事件中的 false

resourceKeynull

範例

下列範例會取得具名資源,並將它轉換成適當的類型以填滿屬性。

C#
void SetBGByResource(object sender, RoutedEventArgs e)
{
  Button b = sender as Button;
  b.Background = (Brush)this.FindResource("RainbowBrush");
}

備註

重要

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

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

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

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

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱