我有一個小問題,我正在處理wpf項目。我是WPF的新手。在我的app.xaml中,我正在爲我的應用程序使用Microsoft Aero主題。我在我的app.xaml有這樣的東西。壓倒一切的主題在WPF
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;V3.0.0.0;31bf3856ad364e35;component/themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
現在我想知道如何重寫某些樣式屬性,例如對於按鈕,我想覆蓋字體樣式,同時保留其餘的空氣樣式。
如果我在窗口資源中爲按鈕定義樣式,例如
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}" x:Key="RedTextBasedOnButton">
<Setter Property="Foreground" Value="Red" />
</Style>
並定義基於上述樣式
按鈕失去所有航空樣式屬性的按鈕。我認爲這個問題是順便做我定義支持算法FMP屬性風格
BasedOn="{StaticResource {x:Type Button}}"
我不認爲資源是靜態的,因爲它來自一個DLL,它或許應該是這樣的。但不知道。
BasedOn="{DynamicResource {x:Type Button}}"
但上面會拋出異常,如果我在我的app.xaml中有多個resourcedictionary,例如月神和經典。我該如何判斷哪一個用作默認設置,並同時使用另一個(例如luna)覆蓋我的用戶界面中的某些控件?因此,我的一些按鈕將基於月亮風格和一些航空風格,並進行一些進一步的修改?
有什麼想法?
問候,
的[覆蓋重寫WPF主題(http://stackoverflow.com/questions/2377055/override-overriden-wpf-theme) – 2014-07-03 01:37:04
可能重複做任何樣式都明確的密鑰,你可以綁定? – Killnine 2014-07-09 13:39:38