x:Shared 특성

업데이트: 2007년 11월

false로 설정된 경우 WPF(Windows Presentation Foundation) 리소스 검색 동작을 수정하여 리소스를 요청하는 경우 모든 리소스 요청에 대해 동일한 인스턴스를 공유하는 대신 각 요청에 대해 새 인스턴스를 만듭니다.

XAML 특성 사용

<ResourceDictionary>
  <object x:Shared="false".../>
</ResourceDictionary>

설명

리소스에 대한 기본 x:Shared 조건은 true입니다. 이는 모든 리소스 요청이 동일한 인스턴스를 반환함을 의미합니다. FindResource와 같은 리소스 API를 통해 반환되는 개체를 수정하거나, ResourceDictionary 내에서 개체를 직접 수정하면 원본 리소스가 변경됩니다. 해당 리소스에 대한 참조가 동적 리소스 참조인 경우 리소스 사용자는 변경된 리소스를 받습니다. 리소스에 대한 참조가 정적 리소스 참조인 경우 XAML 처리 시간 이후의 리소스 변경 내용은 적용되지 않습니다. 정적 및 동적 리소스 참조에 대한 자세한 내용은 리소스 개요를 참조하십시오.

x:Shared="true"는 기본값이기 때문에 따로 지정할 필요가 없습니다. x:Shared에는 직접 해당하는 코드가 없습니다.

FrameworkElement 또는 FrameworkContentElement에서 파생된 클래스를 리소스로 정의하고 요소 리소스를 콘텐츠 모델에 추가하는 경우에는 x:Shared="false"로 지정해야 합니다. x:Shared="false" 설정을 사용하면 같은 컬렉션(예: UIElementCollection)에서 요소 리소스를 여러 번 사용할 수 있습니다. 컬렉션 내의 모든 콘텐츠는 고유해야 하기 때문에 x:Shared를 "false"로 설정하지 않은 경우에는 요소 리소스를 여러 번 사용할 수 없습니다. 그러나 x:Shared="false" 동작은 기본적으로 동일한 인스턴스를 반환하는 대신 리소스의 동일한 또 다른 인스턴스를 만듭니다.

Freezable 리소스를 애니메이션 값으로 사용하면서 애니메이션별로 리소스를 수정하려는 경우에도 x:Shared="false" 설정을 사용합니다.

"false" 문자열은 대/소문자를 구분하지 않습니다.

x:Shared는 다음과 같은 경우에만 사용할 수 있습니다.

참고 항목

개념

리소스 개요

참조

ResourceDictionary

기타 리소스

기본 요소