Diskuze: WPF - globální styl v rámci aplikace
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Nakonec jsem našel řešení zde:
http://stackoverflow.com/…-file-in-wpf
Místo userControl použiji ResourceDictionary na které přidám odkaz v App.xaml
Narazil jsem na něj už dřív, ale špatně jsem pochopil jeho použití.
Mohl by jsi to stále používat jako UserControl, protože v tom user control budeš stejně muset mít instanci toho kalendáře.
Příklad
myControl.Calendar.Date = xxx;
Nebo ve WPF lze využít Resources a nebo si udělat template a ten aplikovat.
Příklad
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Shared.xaml" />
</ResourceDictionary.MergedDictionaries>
A v tom filu Shared by jsi měl vlastně nadefinované styly v resources.
No já to nakonec udělal tak jak to je popsané v tom článku.
Udělal jsem si pojmenovany Style, který jsem vložil do ResourceDictionary
(pro každy Style mám vlastní ResourceDictionary).
Všechny ResourceDictionary jsem vložil do application resources v App.xaml:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ControlsTemplates\StyleButton.xaml" />
<ResourceDictionary Source="ControlsTemplates\StyleCalendar.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
No a když potřebuju kdekoli styl aplikovat, tak to použiju jako style:
<Calendar Style="{StaticResource MyStyleCalendar}" />
Zatím se to tváří jako že je všechno ok i bez použití userControl, tak uvidím jestli nenarazím později na nějaký problém.
No jasně, takhle je to nejlepší, taky to takto používám u sebe v App.
PS. Jen nemusíš používat pro každý style nový ResourceDictionary stačí pouzít TargetType property na rozdělení.
Zobrazeno 5 zpráv z 5.