2010-06-25 17 views
5

w aplikacji WPF, można umieścić swoje globalne zasoby statyczne w App.xaml .. jakGlobalne zasoby statyczne w bibliotece klas WPF?

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

To było z MVVM Światła). Jeśli twój projekt jest biblioteką klasy wpf, jaki jest właściwy sposób inicjowania takich globalnych zasobów statycznych?

Odpowiedz

3

Możesz utworzyć ResourceDictionary za pomocą swoich zasobów i połączyć słowniki używając swojego kodu, jak poniżej.

<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" /> 

Kod:

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

Można tworzyć MergedDicionaries w XAML w pliku App.xaml, który jest najbardziej powszechną praktyką (zamiast tworzyć je w kodzie tyłu). – Hannish

Powiązane problemy