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); };
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
Public Property Resources As ResourceDictionary

Wartość właściwości

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)Extensible Application Markup Language (XAML) są zwykle tworzone jako element właściwości i są zazwyczaj na elemencie głównym dla każdej strony lub aplikacji.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. 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 oddzielny Projektant obowiązki z obowiązków deweloperów przez oddzielenie 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 XAMLXAML będą ostatecznie niedostępne do momentu, gdy Loaded zostanie 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 XAMLXAML 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 w przypadku zdarzenia Loaded jest gwarancją, że można odwołać się do XAMLXAML zdefiniowanego zasobu.In fact, resources are parsed asynchronously and not even the Loaded event is an assurance that you can reference a XAMLXAML defined resource. Z tego powodu zazwyczaj należy uzyskiwać dostęp do XAMLXAML zdefiniowanych zasobów w ramach kodu czasu wykonywania lub za poorednictwem innych technik XAMLXAML, takich jak style lub odwołania do rozszerzeń zasobów dla wartości atrybutów.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. Gdy uzyskujesz dostęp do zasobów za pośrednictwem kodu, jest to zasadniczo równoznaczne z DynamicResource — odwołaniem z XAMLXAML.When you access resources through code, it is essentially equivalent to a DynamicResource reference made from XAMLXAML.

Bazowa ResourceDictionary obsługuje metody wymagane 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. Właściwość Resources jest settable, aby obsługiwać scenariusz całkowitego zastąpienia kolekcji Resources elementu, aby była nowym lub innym 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 XAMLXAML nie zawiera elementu dla ResourceDictionary.Notice that the XAMLXAML 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 XAMLXAML, zobacz Szczegóły składni języka XAML.For more information about implicit collections and XAMLXAML, see XAML Syntax In Detail. Jednym z przypadków, gdy ResourceDictionary jest nadal określona jawnie jako element jest w przypadku wprowadzenia scalonego słownika, w takim przypadku nie są zazwyczaj elementy podrzędne dla tego 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 poszczególnych ResourceDictionary musi mieć unikatową wartość dla dyrektywy x:Key, która służy jako klucz unikatowy podczas pobierania wartości 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ż