Condividi tramite


FrameworkElement.Resources Proprietà

Definizione

Ottiene o imposta il dizionario risorse definite localmente.

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

Valore della proprietà

Dizionario corrente definito localmente delle risorse, in cui ogni risorsa è accessibile in base alla chiave.

Attributi

Commenti

I dizionari risorse che possono essere definiti completamente o parzialmente in XAML (Extensible Application Markup Language) vengono in genere creati come elemento di proprietà e in genere si trovano nell'elemento radice per qualsiasi singola pagina o per l'applicazione. L'inserimento del dizionario risorse a questo livello semplifica la ricerca di singoli elementi figlio nella pagina (o da qualsiasi pagina, nel caso dell'applicazione). Nella maggior parte degli scenari dell'applicazione è consigliabile definire gli stili come elementi oggetto all'interno di un dizionario risorse o essere definiti come risorse esterne in modo che l'intera risorsa di stile possa essere autonoma (questo approccio consente di separare le responsabilità della finestra di progettazione dalle responsabilità degli sviluppatori separando i file fisici che devono essere modificati).

Si noti che questa proprietà restituisce solo il dizionario risorse dichiarato direttamente all'interno di tale elemento. Si tratta di un processo diverso da quello effettivo di ricerca delle risorse, in cui un elemento figlio può accedere a qualsiasi risorsa definita in ogni elemento padre, eseguendo una ricerca in modo ricorsivo verso l'alto.

È anche possibile fare riferimento alle risorse tramite codice dall'interno della raccolta, ma tenere presente che le risorse create in XAML non saranno sicuramente accessibili fino a quando non Loaded viene generato dopo dall'elemento che dichiara il dizionario. Infatti, le risorse vengono analizzate in modo asincrono e nemmeno l'evento Loaded è una garanzia che sia possibile fare riferimento a una risorsa definita da XAML. Per questo motivo è in genere consigliabile accedere solo alle risorse definite da XAML come parte del codice di runtime o tramite altre tecniche XAML, ad esempio stili o riferimenti alle estensioni delle risorse per i valori degli attributi. Quando si accede alle risorse tramite codice, è essenzialmente equivalente a un riferimento DynamicResource creato da XAML.

L'oggetto sottostante ResourceDictionary supporta i metodi necessari per aggiungere, rimuovere o eseguire query sulle risorse dall'interno della raccolta usando il codice. La Resources proprietà è impostata per supportare lo scenario di sostituzione completa della raccolta di risorse di un elemento come nuovo o diverso ResourceDictionary.

Si noti che la sintassi XAML mostrata non include un elemento per .ResourceDictionary Questo è un esempio di sintassi di raccolta implicita; è possibile omettere un tag che rappresenta l'elemento della raccolta. Gli elementi aggiunti come elementi alla raccolta vengono specificati invece. Per altre informazioni sulle raccolte implicite e xaml, vedi Sintassi XAML in dettaglio. Un caso in cui un ResourceDictionary oggetto viene ancora specificato in modo esplicito come elemento è se si introduce un dizionario unito, nel qual caso in genere non sono presenti elementi figlio per tale ResourceDictionaryoggetto . Per informazioni dettagliate, vedere Dizionari risorse uniti.

Utilizzo della sintassi XAML per elementi proprietà

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

Valori XAML

oneOrMoreResourceElements
Uno o più elementi oggetto, ognuno dei quali definisce una risorsa. Ogni elemento della proprietà della risorsa all'interno di ogni ResourceDictionary oggetto deve avere un valore univoco per la direttiva x:Key, che funge da chiave univoca quando i valori vengono recuperati da ResourceDictionary.

Si applica a

Vedi anche