FrameworkContentElement.Resources FrameworkContentElement.Resources FrameworkContentElement.Resources FrameworkContentElement.Resources Property

Definizione

Ottiene o imposta il dizionario risorse corrente definito localmente.Gets or sets the current locally-defined resource dictionary.

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

Valore della proprietà

Le risorse correnti definite localmente.The current locally-defined resources. Si tratta di un dizionario risorse in cui l'accesso alle risorse all'interno del dizionario viene eseguito tramite chiave.This is a dictionary of resources, where resources within the dictionary are accessed by key.

Esempi

Nell'esempio seguente viene stabilita una Resources raccolta in un FlowDocument elemento radice.The following example establishes a Resources collection on a FlowDocument root element. FlowDocumentè una scelta tipica perché è una delle poche FrameworkContentElement classi che hanno senso come elemento radice e le risorse vengono in genere archiviate nella radice della pagina o a livelli ancora superiori, ad esempio nell'applicazione.FlowDocument is a typical choice because it is one of the few FrameworkContentElement classes that make sense as a root element, and resources are generally stored at the page root or at even higher levels such as in the application.

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

Commenti

I dizionari risorse che possono essere definiti completamente o parzialmente Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) in vengono in genere creati come un elemento proprietà e sono in genere sull'elemento radice per ogni singola pagina o per l'applicazione.Resource dictionaries that can be defined completely or partially in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) are typically created as a property element, and are typically on the root element for any individual page or for the application. L'inserimento del dizionario risorse a questo livello rende più semplice trovare i singoli elementi figlio nella pagina o da qualsiasi pagina, nel caso dell'applicazione.Placing the resource dictionary at this level makes it easier to find from individual child elements in the page (or from any page, in the application case). Nella maggior parte degli scenari di applicazione, è consigliabile definire gli stili come elementi oggetto all'interno di un dizionario risorse oppure essere definiti come risorse esterne, in modo che l'intera risorsa di stile possa essere autonoma (questo approccio consente di separare la finestra di progettazione responsabilità delle responsabilità degli sviluppatori separando i file fisici che devono essere modificati.In most application scenarios, we recommend that styles be defined as object elements within a resource dictionary, or be defined as external resources so that the entire style resource can be self-contained (this approach helps separate designer responsibilities from developer responsibilities by separating the physical files that need to be edited).

Si noti che questa proprietà restituisce solo il dizionario risorse dichiarato direttamente all'interno dell'elemento.Note that this property returns only the resource dictionary declared directly within that element. Si tratta di un processo diverso rispetto al processo di ricerca di risorse effettivo, in cui un elemento figlio può accedere a qualsiasi risorsa definita in ogni elemento padre, cercando in modo ricorsivo verso l'alto.This is different than the actual resource lookup process, where a child element can access any of the resources defined in each parent element, searching recursively upwards.

È anche possibile fare riferimento alle risorse tramite codice dall'interno della raccolta, ma tenere presente che le risorse XAMLXAML create in non saranno più accessibili fino a quando non viene generato dall'elemento che dichiara il dizionario. LoadedResources can also be referenced by code from within the collection, but be aware that resources created in XAMLXAML will definitely not be accessible until after Loaded is raised by the element that declares the dictionary. Infatti, le risorse vengono analizzate in modo asincrono e non anche l' Loaded evento è una garanzia che è possibile fare riferimento XAMLXAML a una risorsa definita.In fact, resources are parsed asynchronously, and not even the Loaded event is an assurance that you can reference a XAMLXAML defined resource. Per questo motivo, in genere è consigliabile XAMLXAML accedere solo alle risorse definite come parte del codice di run-time XAMLXAML o ad altre tecniche quali gli stili o i riferimenti all'estensione di risorsa per i valori di attributo.For this reason you should generally only access XAMLXAML defined resources as part of run-time code, or through other XAMLXAML techniques such as styles or resource extension references for attribute values. Quando si accede alle risorse tramite codice, è essenzialmente equivalente a un riferimento DynamicResource eseguito da XAMLXAML.When you access resources through code, it is essentially equivalent to a DynamicResource reference made from XAMLXAML.

L'oggetto ResourceDictionary sottostante supporta i metodi necessari per aggiungere, rimuovere o eseguire query sulle risorse dall'interno della raccolta tramite codice.The underlying ResourceDictionary supports the methods required to add, remove, or query resources from within the collection by using code. La Resources proprietà può essere impostata in modo da supportare lo scenario di sostituzione completa della raccolta di risorse di un elemento in modo ResourceDictionaryche sia nuovo o diverso.The Resources property is settable to support the scenario of completely replacing the resources collection of an element to be a new or different ResourceDictionary.

Si noti che XAMLXAML la sintassi mostrata non include un elemento per ResourceDictionaryl'oggetto.Notice that the XAMLXAML syntax shown does not include an element for the ResourceDictionary. Questo è un esempio di sintassi di raccolta implicita. un tag che rappresenta l'elemento della raccolta può essere omesso.This is an example of implicit collection syntax; a tag representing the collection element can be omitted. Vengono invece specificati gli elementi che vengono aggiunti come elementi alla raccolta.The elements that are added as items to the collection are specified instead. Per ulteriori informazioni sulle raccolte implicite XAMLXAMLe, vedere sintassi XAML in dettaglio.For more information about implicit collections and XAMLXAML, see XAML Syntax In Detail. Un caso in cui ResourceDictionary un oggetto viene ancora specificato in modo esplicito come elemento è se si introduce un dizionario Unito, nel qual caso non sono presenti elementi ResourceDictionaryfiglio.One case where a ResourceDictionary is still specified explicitly as an element is if you are introducing a merged dictionary, in which case there are typically no child elements for that ResourceDictionary. Per informazioni dettagliate, vedere dizionari risorse Uniti.For details, see Merged Resource Dictionaries.

Utilizzo della sintassi XAML per elementi proprietàXAML Property Element Usage

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

Valori XAMLXAML Values

oneOrMoreResourceElementsoneOrMoreResourceElements
Uno o più elementi oggetto, ognuno dei quali definisce una risorsa.One or more object elements, each of which defines a resource. Ogni elemento della proprietà di risorsa ResourceDictionary all'interno di ogni deve avere un valore univoco per la direttiva x:Key, che funge da chiave univoca quando i ResourceDictionaryvalori vengono recuperati da.Each resource property element within each ResourceDictionary must have a unique value for the x:Key Directive, which serves as the unique key when values are retrieved from the ResourceDictionary.

Si applica a

Vedi anche