2013-04-12 21 views
5

MahApps.Metro, .NET 4.5 için sürüm 0.11.0.9-ALPHA kullanıyorum. ve kaynak sözlüklerini referans göstermenin en iyi yolunu bilmek isterler.WPF MahApps.Metro - Kaynak Sözlükleri nereye yerleştirilir?

Onlara App.xaml'de birleştirilmiş sözlükler olarak başvurmamam gerektiği söylendi. Durum böyle değilse, bunları her pencere için Window.Resources olarak eklemem gerekir mi?

ben bunu yapıyordum:

<ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Red.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 

</Application.Resources> 

bu sorun bazı kontrolleri, korkak hareket etmeleridir örneğin üst düzeye çıkarmak ve pencere kapatma düğmeleri metin olmadan siyah bloklar olarak görünür, en aza indirir. Bu kaynak sözlükleri Window.Resources olarak başvurduğumda, her şey düzgün çalışıyor ...

cevap

7

Sadece her pencerede başvurulan bir paylaşılan kaynak sözlüğü kullanıyorum.

GeneralResources.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml" /> 
     <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> 
     <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
     <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" /> 
     <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 
     <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.AnimatedTabControl.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 

    <other shared resources... /> 
</ResourceDictionary> 

Her penceresi:

<Window.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="GeneralResources.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 

     <other window resources... /> 
    </ResourceDictionary> 
</Window.Resources> 
+0

Teşekkür Zengin, iyi seçim. (Bir ana sayfa gibi, dünya çapında bir stil uygulamak için bir yol istiyorum, ama bu başka bir konu!) –

İlgili konular