FrameworkElement.Resources 속성

정의

로컬로 정의된 리소스 사전을 가져오거나 설정합니다.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; }
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

속성 값

현재 로컬로 정의된 리소스의 사전입니다. 각 리소스에는 키로 액세스할 수 있습니다.The current locally-defined dictionary of resources, where each resource can be accessed by key.

구현

System.Windows.Markup.IHaveResources.Resources
특성

설명

완전히 또는 부분적으로 정의할 수 있는 리소스가 XAML(Extensible Application Markup Language)Extensible Application Markup Language (XAML) 속성 요소로 일반적으로 생성 되 고 개별 페이지 또는 애플리케이션의 루트 요소에는 일반적으로 합니다.Resource dictionaries that can be defined completely or partially in XAML(Extensible Application Markup Language)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. 이 수준에서 리소스 사전 배치 쉽게 페이지의 개별 자식 요소 (또는 애플리케이션의 경우에는 페이지)를 찾을 수 있습니다.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). 대부분의 애플리케이션 시나리오에서 스타일 리소스 사전 내의 개체 요소로 정의 되어 권장 또는 전체 스타일 리소스는 자체 포함 될 수 있도록 외부 리소스로 정의 됩니다 (이 통해 별도 디자이너 책임을 편집 해야 하는 물리적 파일을 구분 하 여 개발자의 책임).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).

이 속성은 해당 요소 내에서 직접 선언 된 리소스 사전을 반환 합니다.Note that this property returns only the resource dictionary declared directly within that element. 이는 자식 요소가 각 부모 요소에 정의 된 모든 리소스에 액세스 하 여 재귀적으로 검색 하는 실제 리소스 조회 프로세스와는 다릅니다.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.

컬렉션 내에서 코드를 통해 리소스를 참조할 수도 있지만, XAMLXAML에서 만든 리소스는 사전을 선언 하는 요소에 의해 Loaded 발생할 때까지 명확 하 게 액세스할 수 없습니다.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. 실제로 리소스는 Loaded 이벤트를 비롯 하 여 비동기적으로 구문 분석 되지만 XAMLXAML 정의 된 리소스를 참조할 수 있다는 보장이 없습니다.In fact, resources are parsed asynchronously and not even the Loaded event is an assurance that you can reference a XAMLXAML defined resource. 이러한 이유로 인해 일반적으로 정의 된 리소스 XAMLXAML 런타임 코드의 일부로 또는 특성 값에 대 한 스타일 또는 리소스 확장 참조와 같은 다른 XAMLXAML 기술을 통해 액세스 해야 합니다.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. 코드를 통해 리소스에 액세스 하는 경우에는 XAMLXAML에서 DynamicResource 된 참조를 사용 하는 것과 동일 합니다.When you access resources through code, it is essentially equivalent to a DynamicResource reference made from XAMLXAML.

기본 ResourceDictionary는 코드를 사용 하 여 컬렉션 내에서 리소스를 추가, 제거 또는 쿼리 하는 데 필요한 메서드를 지원 합니다.The underlying ResourceDictionary supports the methods required to add, remove or query resources from within the collection by using code. Resources 속성은 요소의 리소스 컬렉션을 새 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.

표시 된 XAMLXAML 구문에는 ResourceDictionary에 대 한 요소가 포함 되지 않습니다.Notice that the XAMLXAML syntax shown does not include an element for the ResourceDictionary. 다음은 암시적 컬렉션 구문의 예입니다. 컬렉션 요소를 나타내는 태그는 생략할 수 있습니다.This is an example of implicit collection syntax; a tag representing the collection element can be omitted. 컬렉션에 항목으로 추가 된 요소가 대신 지정 됩니다.The elements that are added as items to the collection are specified instead. 암시적 컬렉션 및 XAMLXAML에 대 한 자세한 내용은 XAML 구문정보를 참조 하세요.For more information about implicit collections and XAMLXAML, see XAML Syntax In Detail. ResourceDictionary가 요소로 명시적으로 지정 되는 한 가지 경우는 병합 된 사전을 도입 하는 경우입니다 .이 경우 일반적으로 해당 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. 자세한 내용은 병합 된 리소스 사전을 참조 하세요.For details, see Merged Resource Dictionaries.

XAML 속성 요소 사용XAML Property Element Usage

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

XAML 값XAML Values

oneOrMoreResourceElementsoneOrMoreResourceElements
각각 리소스를 정의 하는 하나 이상의 개체 요소입니다.One or more object elements, each of which defines a resource. ResourceDictionary 내의 각 리소스 속성 요소에는 ResourceDictionary에서 값을 검색할 때 고유 키로 사용 되는 X:Key 지시문에 대 한 고유 값이 있어야 합니다.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.

적용 대상

추가 정보