2010-09-02 5 views

Répondre

8

L'autre fichier XAML doit être un dictionnaire de ressources. Vous le fusionnez dans le fichier en cours à l'aide de la propriété MergedDictionaries du ResourceDictionary en cours. Voir Merged Resource Dictionaries sur MSDN. Leur exemple:

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

Ensuite, dans cet objet de page, vous pouvez référencer des ressources statiques définies dans myresourcedictionary.xaml ou myresourcedictionary2.xaml.

3

« différent fichier XAML » pourrait signifier quelques choses différentes:

  • App.xaml: Les ressources sont automatiquement inclus dans l'arborescence des ressources de tout ce qui est ouvert de sorte que vous n'avez pas besoin de faire quoi que ce soit de plus.
  • Fenêtre ou Page .xaml: Les ressources peuvent être accessibles par n'importe quel enfant d'une instance de l'objet comme un UserControl qui est utilisé dans une fenêtre.
  • ResourceDictionary: Doit être fusionné explicitement dans l'arbre de ressources quelque part au-dessus de l'endroit où il est utilisé. Cela peut être App.xaml, Windowxx.xaml ou un élément de niveau inférieur. Utilisez ResourceDictionary.MergedDictionaries pour cela.

Il y a aussi beaucoup de façons alternatives pour spécifier le chemin mais c'est la plus simple:

<Window> 
    <Window.Resources> 
     <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Resources/MyResourceDict.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Window.Resources> 
Questions connexes