FrameworkContentElement.Resources 屬性

定義

取得或設定目前本機定義的資源字典。

public:
 property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
public System.Windows.ResourceDictionary Resources { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

屬性值

目前本機定義的資源。 這是資源的字典,字典內的資源是依索引鍵來存取。

屬性

範例

下列範例會在 Resources 根項目上 FlowDocument 建立集合。 FlowDocument 是典型的選擇,因為它是幾個作為根項目有意義的類別之 FrameworkContentElement 一,而且資源通常會儲存在頁面根目錄或甚至更高層級,例如在應用程式中。

<FlowDocument
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class=" SDKSample.Page2">
  <FlowDocument.Resources>
    <Style TargetType="{x:Type Paragraph}" x:Key="BluePara">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="FontSize" Value="18"/>
      <Setter Property="Foreground" Value="LightBlue"/>
      <Setter Property="FontFamily" Value="Trebuchet MS"/>
    </Style>
  </FlowDocument.Resources>
  <Paragraph Style="{StaticResource BluePara}">Lorem ipsum etc.</Paragraph>
</FlowDocument>

備註

可以在 Extensible Application Markup Language (XAML) 中完整或部分定義的資源字典通常會建立為屬性元素,而且通常是在任何個別頁面或應用程式的根項目上。 將此資源字典放在這個層級,可讓您更輕鬆地在應用程式案例中,從頁面 (或任何頁面的個別子項目尋找) 。 在大部分的應用程式案例中,我們建議將樣式定義為資源字典中的物件元素,或定義為外部資源,讓整個樣式資源可以獨立 (此方法可協助分隔設計工具責任與開發人員責任,方法是分隔需要編輯的實體檔案) 。

請注意,此屬性只會傳回直接在該元素內宣告的資源字典。 這與實際的資源查閱程式不同,其中子項目可以存取每個父元素中定義的任何資源,以遞迴方式向上搜尋。

您也可以從集合中的程式碼參考資源,但請注意,在宣告字典的 元素引發之後 Loaded ,在 XAML 中建立的資源絕對無法存取。 事實上,資源會以非同步方式剖析,甚至事件也是 Loaded 您可以參考 XAML 定義資源的保證。 基於這個理由,您通常應該只存取 XAML 定義的資源作為執行時間程式碼的一部分,或透過其他 XAML 技術,例如屬性值的樣式或資源延伸參考。 當您透過程式碼存取資源時,它基本上相當於從 XAML 建立的 DynamicResource 參考。

基礎 ResourceDictionary 支援使用程式碼從集合內新增、移除或查詢資源所需的方法。 屬性 Resources 是可設定的,可支援將元素的資源集合完全取代為新的或不同的 ResourceDictionary 案例。

請注意,顯示的 XAML 語法不包含 的 ResourceDictionary 元素。 這是隱含集合語法的範例;可以省略代表集合專案的標記。 會改為指定新增為集合中專案的專案。 如需隱含集合和 XAML 的詳細資訊,請參閱 XAML 語法詳細資料ResourceDictionary如果您引進合併字典,其中仍然明確將 指定為 元素的情況,在此情況下,通常不會有該 ResourceDictionary 的子項目。 如需詳細資訊,請參閱 合併的資源字典

XAML 屬性項目用法

<object>  
  <object.Resources>  
    oneOrMoreResourceElements  
  </object.Resources>  
</object>  

XAML 值

oneOrMoreResourceElements
一或多個物件專案,每個元素都會定義資源。 每個 內的 ResourceDictionary 每個資源屬性元素都必須有 x:Key 指示詞的唯一值,當從 ResourceDictionary 擷取值時,它可做為唯一索引鍵。

適用於

另請參閱