2010-09-02 14 views

cevap

8

Diğer XAML dosyasının bir kaynak sözlüğü olması gerekir. Geçerli ResourceDictionary öğesinin MergedDictionaries özelliğini kullanarak geçerli dosyaya birleştirirsiniz. MSDN'de bkz. Merged Resource Dictionaries. Onların örnek:

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

Sonra bu sayfa nesnesi içinde size myresourcedictionary.xaml veya myresourcedictionary2.xaml tanımlanan statik kaynakları başvurabilir.

3

"farklı XAML dosyası" birkaç farklı anlama gelebilir:

  • App.xaml: Kaynaklar otomatik böylece ekstra bir şey yapmanıza gerek yoktur açtı şey kaynak ağacında dahildir.
  • Pencere veya Sayfa. Xaml: Kaynaklar, bir pencerede kullanılan UserControl gibi bir nesnenin örneğinin herhangi bir çocuğu tarafından erişilebilir.
  • ResourceDictionary: Kullanıldığı yerde bir yere kaynak ağacında açıkça birleştirilmesi gerekir. Bu, App.xaml, Windowxx.xaml veya bazı alt düzey öğeler olabilir. Bunu yapmak için ResourceDictionary.MergedDictionaries kullanın.

Orada yolunu belirtmek için alternatif birçok yolu da vardır ama bu en basit olanıdır:

<Window> 
    <Window.Resources> 
     <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Resources/MyResourceDict.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Window.Resources> 
İlgili konular