2010-09-02 29 views

Respuesta

8

El otro archivo XAML tendrá que ser un diccionario de recursos. Lo fusiona en el archivo actual utilizando la propiedad MergedDictionaries del ResourceDictionary actual. Ver Merged Resource Dictionaries en MSDN. Su ejemplo:

<Page.Resources> 
    <ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="myresourcedictionary.xaml"/> 
     <ResourceDictionary Source="myresourcedictionary2.xaml"/> 
    </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Page.Resources> 

Luego, dentro de esa página objeto que puede hacer referencia a los recursos estáticos definidos en myresourcedictionary.xaml o en myresourcedictionary2.xaml.

3

"archivo diferente XAML" podría significar un par de cosas diferentes:

  • App.xaml: Los recursos se incluyen automáticamente en el árbol de recursos de todo lo que está abierto por lo que no tiene que hacer nada extra.
  • Ventana o página .xaml: Cualquier niño puede acceder a los recursos de una instancia del objeto, como un UserControl que se utiliza en una ventana.
  • ResourceDictionary: debe fusionarse explícitamente en el árbol de recursos en algún lugar encima de donde se usa. Puede ser App.xaml, Windowxx.xaml o algún elemento de nivel inferior. Use ResourceDictionary.MergedDictionaries para hacer esto.

También hay un montón de formas alternativas de especificar la ruta, pero este es el más simple:

<Window> 
    <Window.Resources> 
     <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Resources/MyResourceDict.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Window.Resources> 
Cuestiones relacionadas