FrameworkContentElement.Resources Vlastnost

Definice

Získá nebo nastaví aktuální místně definovaný slovník prostředků.

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

Hodnota vlastnosti

Aktuální místně definované prostředky. Toto je slovník prostředků, kde se k prostředkům ve slovníku přistupuje pomocí klíče.

Atributy

Příklady

Následující příklad vytvoří kolekci Resources na kořenovém elementu FlowDocument . FlowDocument je typickou volbou, protože je to jedna z mála FrameworkContentElement tříd, které mají smysl jako kořenový prvek, a prostředky jsou obecně uloženy v kořenovém adresáři stránky nebo na ještě vyšších úrovních, například v aplikaci.

<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>

Poznámky

Slovníky prostředků, které lze definovat zcela nebo částečně v jazyce XAML (Extensible Application Markup Language), jsou obvykle vytvořeny jako element vlastnosti a obvykle jsou v kořenovém elementu pro libovolnou jednotlivou stránku nebo pro aplikaci. Umístění slovníku prostředků na této úrovni usnadňuje vyhledání jednotlivých podřízených prvků na stránce (nebo z libovolné stránky v případě aplikace). Ve většině aplikačních scénářů doporučujeme, aby styly byly definovány jako elementy objektů ve slovníku prostředků nebo jako externí prostředky, aby celý prostředek stylu mohl být samostatný (tento přístup pomáhá oddělit odpovědnost návrháře od odpovědnosti vývojáře oddělením fyzických souborů, které je potřeba upravit).

Všimněte si, že tato vlastnost vrací pouze slovník prostředků deklarovaný přímo v tomto prvku. To se liší od skutečného procesu vyhledávání prostředků, kdy podřízený prvek může přistupovat k prostředkům definovaným v jednotlivých nadřazených elementech rekurzivně směrem nahoru.

Prostředky mohou být také odkazovány kódem z kolekce, ale mějte na paměti, že prostředky vytvořené v XAML nebudou určitě přístupné, dokud Loaded nebudou vyvolány elementem, který deklaruje slovník. Prostředky se ve skutečnosti analyzují asynchronně a ani Loaded tato událost neznamená záruku, že můžete odkazovat na prostředek definovaný xaml. Z tohoto důvodu byste obecně měli přistupovat k prostředkům definovaným v jazyce XAML pouze jako součást kódu za běhu nebo prostřednictvím jiných technik XAML, jako jsou styly nebo odkazy na rozšíření prostředků pro hodnoty atributů. Když přistupujete k prostředkům prostřednictvím kódu, je to v podstatě ekvivalent odkazu DynamicResource vytvořeného z XAML.

Podkladový objekt ResourceDictionary podporuje metody potřebné k přidání, odebrání nebo dotazování prostředků v rámci kolekce pomocí kódu. Vlastnost Resources je nastavená tak, aby podporovala scénář úplného nahrazení kolekce prostředků elementu novou nebo jinou ResourceDictionary.

Všimněte si, že zobrazená syntaxe XAML neobsahuje element pro ResourceDictionary. Toto je příklad implicitní syntaxe kolekce; Značku představující prvek kolekce lze vynechat. Místo toho jsou zadány prvky, které jsou přidány jako položky do kolekce. Další informace o implicitních kolekcích a XAML najdete v tématu Syntaxe XAML v podrobnostech. Jedním z případů, kdy ResourceDictionary je stále explicitně zadán jako prvek, je, pokud zavádíte sloučený slovník. V takovém případě obvykle neexistují žádné podřízené elementy pro daný ResourceDictionary. Podrobnosti najdete v tématu Sloučené slovníky prostředků.

Použití elementu vlastnosti XAML

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

Hodnoty XAML

oneOrMoreResourceElements
Jeden nebo více elementů objektu, z nichž každý definuje prostředek. Každý element vlastnosti prostředku v rámci každého ResourceDictionary prvku musí mít jedinečnou hodnotu pro direktivu x:Key, která slouží jako jedinečný klíč při načítání hodnot z .ResourceDictionary

Platí pro

Viz také