2010-06-25 3 views
5

, 당신은 MVVM 라이트에서 것을WPF 클래스 라이브러리의 전역 정적 리소스는 무엇입니까?); WPF 응용 프로그램에서

<Application.Resources> 
     <!--Global View Model Locator--> 
     <vm:ViewModelLocator x:Key="Locator" 
          d:IsDataSource="True" /> 
    </Application.Resources> 

같은 .. app.xaml에서 글로벌 정적 리소스를 넣을 수 있습니다. 이제 프로젝트가 wpf 클래스 라이브러리라면, 그런 전역 정적 리소스를 초기화하는 적절한 방법은 무엇입니까?

답변

3

리소스로 ResourceDictionary를 만들고 아래 코드와 같이 사전을 병합 할 수 있습니다.

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:vm="clr-namespace:WPFProject.ViewModel" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
<vm:ViewModelLocator x:Key="Locator" 
         d:IsDataSource="True" /> 

코드 :

Application.Current.Resources.MergedDictionaries.Add(Application.LoadComponent(
      new Uri("/WPFProject;Component/Resources/ResourceDictionary1.xaml", UriKind.Relative)) as ResourceDictionary); 
+1

당신은 (대신 뒤에 코드를 생성하는) 가장 일반적인 방법입니다 App.xaml 파일에, XAML에서 MergedDicionaries을 만들 수 있습니다. – Hannish

관련 문제