2010-06-25 14 views
5

En una aplicación de WPF, usted puede poner sus recursos estáticos globales en App.xaml .. comoRecursos estáticos globales en una biblioteca de clases WPF?

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

Eso era de MVVM Light;). Ahora, si su proyecto es una biblioteca de clase wpf, ¿cuál es la forma correcta de inicializar esos recursos estáticos globales?

Respuesta

3

Puede crear un ResourceDictionary con sus recursos y combinar los diccionarios utilizando su código como se muestra a continuación.

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

Código:

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

Usted puede crear sus MergedDicionaries en XAML, en el archivo App.xaml, que es la práctica más común (en lugar de crearlos en el código detrás). – Hannish

Cuestiones relacionadas