Application.Resources 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
애플리케이션 범위 리소스(예: 스타일 및 브러시)의 컬렉션을 가져오거나 설정합니다.
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
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary
속성 값
0개 이상의 애플리케이션 범위 리소스가 들어 있는 ResourceDictionary 개체입니다.
- 특성
예제
이 예제에서는 애플리케이션 범위 리소스와 함께 XAML을 사용하여 일관된 시각적 모양을 만드는 방법을 보여 줍니다. 첫 번째 예제는 App.xaml 입니다. MainWindow.xaml 의 두 번째
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
>
<Application.Resources>
<SolidColorBrush x:Key="BackgroundColor" Color="Yellow"></SolidColorBrush>
</Application.Resources>
</Application>
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ApplicationResourcesSnippetSample_XAML"
Height="300"
Width="300"
Background="{StaticResource BackgroundColor}"
>
<Grid>
<!-- Additional XAML. -->
</Grid>
</Window>
다음 예제에서는 코드 및 XAML(C# WPF 프로젝트의 App.xaml 파일 또는 Visual Basic WPF 프로젝트의 Application.xaml 파일)에서 애플리케이션 리소스를 설정하는 방법을 보여 줍니다.
// Set an application-scope resource
Application.Current.Resources["ApplicationScopeResource"] = Brushes.White;
' Set an application-scope resource
Application.Current.Resources("ApplicationScopeResource") = Brushes.White
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.App"
StartupUri="MainWindow.xaml"
Startup="App_Startup"
Exit="App_Exit">
<Application.Resources>
<SolidColorBrush x:Key="ApplicationScopeResource" Color="White"></SolidColorBrush>
</Application.Resources>
</Application>
다음 예제에서는 코드에서 애플리케이션 리소스를 가져오는 방법을 보여 줍니다.
// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];
' Get an application-scope resource
Dim whiteBrush As Brush = CType(Application.Current.Resources("ApplicationScopeResource"), Brush)
설명
Resources 속성을 사용 하 여 windows 및 애플리케이션의 요소 간에 리소스를 공유할 수 있습니다. Resources 또한 다음과 같은 순서로 트래버스되는 리소스 조회 경로에 속성이 포함됩니다.
요소
Windows
시스템
따라서 UI(사용자 인터페이스) 요소는 애플리케이션 범위 리소스에 바인딩할 수 있습니다. 또한 리소스가 변경되면 리소스 시스템은 해당 리소스에 바인딩된 요소 속성이 변경 사항을 반영하도록 자동으로 업데이트되도록 합니다.
애플리케이션 범위 리소스 애플리케이션에서 일관 된 테마를 지원 하는 간단한 방법을 제공 합니다. 태그를 사용하여 Application.Resources
XAML에서 테마를 쉽게 만들 수 있습니다. 그러나 애플리케이션이 많은 테마 요소를 포함 하는 여러 테마를 지원 하기 쉬울 수 있습니다 하나를 사용 하 여 관리할 ResourceDictionary 각 테마에 대 한 인스턴스. 이러한 방식으로 Resources 속성을 적절한 ResourceDictionary테마로 설정하여 새 테마를 적용할 수 있습니다.
Resources를 사용할 때 고려해야 할 두 가지 사항이 있습니다. 첫째, 사전 키 는 개체이므로 속성 값을 설정하고 가져오는 경우 정확히 동일한 개체 인스턴스를 사용해야 합니다(문자열을 사용할 때 키는 대/소문자를 구분합니다). 둘째, 사전 값은 개체이므로 속성 값을 얻을 때 값을 원하는 형식으로 변환해야 합니다.
Resources 는 스레드로부터 안전하며 모든 스레드에서 사용할 수 있습니다.