방법: 응용 프로그램 범위 리소스 사전 사용
업데이트: 2007년 11월
이 예제에서는 응용 프로그램 범위 사용자 지정 리소스 사전을 사용하는 방법을 보여 줍니다.
예제
Application은 공유 리소스인 Resources에 대한 응용 프로그램 범위 저장소를 노출시킵니다. 기본적으로 Resources는 ResourceDictionary 형식의 인스턴스로 초기화됩니다. Resources 속성을 사용하여 응용 프로그램 범위 속성을 가져오고 설정할 때 이 인스턴스를 사용합니다. 방법: 응용 프로그램 범위 리소스 가져오기 및 설정을 참조하십시오.
Resources를 사용하여 설정하는 리소스가 여러 개인 경우 사용자 지정 리소스 사전을 대신 사용하여 해당 리소스를 저장하고 Resources를 설정할 수 있습니다. 다음과 같이 태그를 사용하여 사용자 지정 리소스 사전을 선언합니다.
<ResourceDictionary
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" >
<SolidColorBrush x:Key="StandardSolidColorBrush" Color="White" />
<LinearGradientBrush x:Key="StandardLinearGradientBrush" StartPoint="0.0,0.0" EndPoint="1.0,1.0">
<LinearGradientBrush.GradientStops>
<GradientStop Color="White" Offset="0" />
<GradientStop Color="Black" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</ResourceDictionary>
Resources를 사용하여 전체 리소스 사전을 맞바꾸면 응용 프로그램 범위, 테마를 지원할 수 있습니다. 이 경우 각 테마는 단일 리소스 사전에서 캡슐화합니다. 테마가 지정된 응용 프로그램 샘플을 참조하십시오.
Resources에 의해 노출된 리소스 사전에서 응용 프로그램 범위 리소스를 가져오려면 Application에서 생성하거나 사용자가 생성하는지 여부에 상관없이 다음과 같은 코드가 필요합니다.
// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];
Resources를 사용할 때 다음 두 가지 사항을 고려해야 합니다. 먼저 사전 키는 개체이므로 속성 값을 설정하고 가져올 경우 정확히 같은 개체 인스턴스를 사용해야 합니다. 문자열을 사용할 경우의 키는 대/소문자를 구분해야 합니다. 두 번째로 사전 값은 개체이므로 속성 값을 가져올 경우 해당 값을 원하는 형식으로 변환해야 합니다.