FrameworkElement.Resources Właściwość

Definicja

Pobiera lub ustawia słownik zasobów zdefiniowany lokalnie.Gets or sets the 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; }
public System.Windows.ResourceDictionary Resources { get; set; }
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

Wartość właściwości

ResourceDictionary

Bieżący, zdefiniowany lokalnie słownik zasobów, do którego można uzyskać dostęp do każdego zasobu za pomocą klucza.The current locally-defined dictionary of resources, where each resource can be accessed by key.

Atrybuty

Uwagi

Słowniki zasobów, które mogą być zdefiniowane w całości lub częściowo w Extensible Application Markup Language (XAML), są zazwyczaj tworzone jako element właściwości i są zwykle elementami głównymi każdej strony lub aplikacji.Resource dictionaries that can be defined completely or partially in 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. Umieszczenie słownika zasobów na tym poziomie ułatwia znalezienie poszczególnych elementów podrzędnych na stronie (lub z dowolnej strony w przypadku aplikacji).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). W większości scenariuszy aplikacji zaleca się zdefiniowanie stylów jako elementów obiektów w słowniku zasobów lub zdefiniowanie ich jako zasobów zewnętrznych, aby cały zasób stylu mógł być niezależny (to podejście ułatwia osobne obowiązki projektanta od odpowiedzialności deweloperów dzięki oddzieleniu plików fizycznych, które należy edytować).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).

Należy zauważyć, że ta właściwość zwraca tylko słownik zasobów zadeklarowany bezpośrednio w tym elemencie.Note that this property returns only the resource dictionary declared directly within that element. Jest to inny niż rzeczywisty proces wyszukiwania zasobów, gdzie element podrzędny może uzyskać dostęp do dowolnego zasobu zdefiniowanego w każdym elemencie nadrzędnym, co umożliwia cykliczne wyszukiwanie w górę.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.

Do zasobów można także odwoływać się za pomocą kodu z kolekcji, ale należy pamiętać, że zasoby utworzone w języku XAML będą na czas niedostępności, dopóki nie zostanie Loaded zgłoszone przez element, który deklaruje słownik.Resources can also be referenced by code from within the collection, but be aware that resources created in XAML will definitely not be accessible until after Loaded is raised by the element that declares the dictionary. W rzeczywistości zasoby są analizowane asynchronicznie, a nawet nie Loaded jest to gwarantowane, że można odwoływać się do zasobu zdefiniowanego w języku XAML.In fact, resources are parsed asynchronously and not even the Loaded event is an assurance that you can reference a XAML defined resource. Z tego powodu należy ogólnie uzyskać dostęp do zasobów zdefiniowanych w języku XAML tylko w kodzie czasu wykonywania lub przy użyciu innych technik XAML, takich jak style lub odwołania do rozszerzenia zasobu dla wartości atrybutów.For this reason you should generally only access XAML defined resources as part of run-time code, or through other XAML techniques such as styles or resource extension references for attribute values. Gdy uzyskujesz dostęp do zasobów za pośrednictwem kodu, jest to zasadniczo równoznaczne z odwołaniem DynamicResource — wykonanym z języka XAML.When you access resources through code, it is essentially equivalent to a DynamicResource reference made from XAML.

Podstawowa ResourceDictionary Obsługa metod wymaganych do dodawania, usuwania lub wykonywania zapytań dotyczących zasobów w kolekcji przy użyciu kodu.The underlying ResourceDictionary supports the methods required to add, remove or query resources from within the collection by using code. ResourcesWłaściwość jest settable, aby obsługiwać scenariusz całkowitego zastąpienia kolekcji Resources elementu, aby była nową lub inną ResourceDictionary .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.

Zauważ, że pokazana składnia XAML nie zawiera elementu dla ResourceDictionary .Notice that the XAML syntax shown does not include an element for the ResourceDictionary. Jest to przykład niejawnej składni kolekcji; Tag reprezentujący element kolekcji można pominąć.This is an example of implicit collection syntax; a tag representing the collection element can be omitted. Zamiast tego można określić elementy, które są dodawane jako elementy do kolekcji.The elements that are added as items to the collection are specified instead. Aby uzyskać więcej informacji na temat niejawnych kolekcji i języka XAML, zobacz Szczegóły składni języka XAML.For more information about implicit collections and XAML, see XAML Syntax In Detail. Jeden przypadek, ResourceDictionary w którym jest w dalszym ciągu jawnie określony jako element, jeśli wprowadzasz scalony słownik, w którym to przypadku zazwyczaj nie ma elementów podrzędnych dla tego elementu ResourceDictionary .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. Aby uzyskać szczegółowe informacje, zobacz scalone słowniki zasobów.For details, see Merged Resource Dictionaries.

Użycie elementu właściwości języka XAMLXAML Property Element Usage

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

Wartości XAMLXAML Values

oneOrMoreResourceElementsoneOrMoreResourceElements
Jeden lub więcej elementów obiektów, z których każdy definiuje zasób.One or more object elements, each of which defines a resource. Każdy element właściwości zasobu w ramach każdej z nich ResourceDictionary musi mieć unikatową wartość dla dyrektywy x:Key, która służy jako unikatowy klucz, gdy wartości są pobierane z ResourceDictionary .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.

Dotyczy

Zobacz też