FrameworkElement.Resources Właściwość

Definicja

Pobiera lub ustawia słownik zasobów zdefiniowany lokalnie.

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

Wartość właściwości

Bieżący lokalnie zdefiniowany słownik zasobów, do którego każdy zasób może uzyskiwać dostęp za pomocą klucza.

Atrybuty

Uwagi

Słowniki zasobów, które można zdefiniować całkowicie lub częściowo w języku Extensible Application Markup Language (XAML) są zwykle tworzone jako element właściwości i zazwyczaj znajdują się w elemenie głównym dowolnej strony lub aplikacji. Umieszczenie słownika zasobów na tym poziomie ułatwia znajdowanie poszczególnych elementów podrzędnych na stronie (lub z dowolnej strony w przypadku aplikacji). W większości scenariuszy aplikacji zalecamy zdefiniowanie stylów jako elementów obiektów w słowniku zasobów lub zdefiniowanie ich jako zasobów zewnętrznych, dzięki czemu cały zasób stylu może być samodzielny (takie podejście pomaga oddzielić obowiązki projektanta od obowiązków deweloperów przez oddzielenie plików fizycznych, które należy edytować).

Należy pamiętać, że ta właściwość zwraca tylko słownik zasobów zadeklarowany bezpośrednio w ramach tego elementu. Różni się to od rzeczywistego procesu wyszukiwania zasobów, w którym element podrzędny może uzyskiwać dostęp do dowolnych zasobów zdefiniowanych w każdym elemercie nadrzędnym, przeszukując cyklicznie w górę.

Zasoby mogą być również odwoływały się do kodu z kolekcji, ale należy pamiętać, że zasoby utworzone w języku XAML na pewno nie będą dostępne, dopóki nie Loaded zostaną podniesione przez element, który deklaruje słownik. W rzeczywistości zasoby są analizowane asynchronicznie, a nawet Loaded zdarzenie nie jest gwarancją, że można odwoływać się do zdefiniowanego zasobu XAML. Z tego powodu należy zazwyczaj uzyskiwać dostęp tylko do zasobów zdefiniowanych w języku XAML w ramach kodu czasu wykonywania lub za pomocą innych technik XAML, takich jak style lub odwołania do rozszerzeń zasobów dla wartości atrybutów. W przypadku uzyskiwania dostępu do zasobów za pośrednictwem kodu jest ona zasadniczo równoważna odwołaniu DynamicResource z języka XAML.

Baza bazowa ResourceDictionary obsługuje metody wymagane do dodawania, usuwania lub wykonywania zapytań o zasoby z kolekcji przy użyciu kodu. Właściwość Resources jest ustawiana w celu obsługi scenariusza całkowitego zastąpienia kolekcji zasobów elementu jako nowego lub innego ResourceDictionary.

Zwróć uwagę, że wyświetlana składnia XAML nie zawiera elementu dla elementu ResourceDictionary. Jest to przykład niejawnej składni kolekcji; tag reprezentujący element kolekcji można pominąć. Zamiast tego zostaną określone elementy dodawane jako elementy do kolekcji. Aby uzyskać więcej informacji na temat niejawnych kolekcji i XAML, zobacz Składnia XAML szczegółowo. Jeden przypadek, w którym ResourceDictionary element jest nadal jawnie określony jako element, to jeśli wprowadzasz scalony słownik, w takim przypadku zazwyczaj nie ma elementów podrzędnych dla tego ResourceDictionaryelementu . Aby uzyskać szczegółowe informacje, zobacz Scalone słowniki zasobów.

Użycie elementu właściwości języka XAML

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

Wartości XAML

oneOrMoreResourceElements
Co najmniej jeden element obiektu, z których każdy definiuje zasób. Każdy element właściwości zasobu w każdym z nich ResourceDictionary musi mieć unikatową wartość dyrektywy x:Key, która służy jako unikatowy klucz, gdy wartości są pobierane z ResourceDictionaryobiektu .

Dotyczy

Zobacz też