我寫在WinXP一個WPF應用程序,我已重寫與Vista主題默認的主題是這樣的:覆蓋重寫WPF主題
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var themerd = new ResourceDictionary();
themerd.Source = new Uri(@"PresentationFramework.Aero;V3.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml", UriKind.Relative);
Resources.MergedDictionaries.Add(themerd);
}
和正常工作居多。當我使用的控制,如按鈕:
<Button />
風格看起來不錯,但如果我用一個按鈕有不同的風格是這樣的:
<Button>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Width" Value="80" />
</Style>
</Button.Style>
</Button>
的風格將覆蓋指定主題風格標準的WinXP風格,而不是建立在它之上。這對我來說極其有限。有沒有辦法避免這個問題?
謝謝,你的回答非常有幫助。這個領域似乎缺乏WPF。你通常使用哪個選項來解決這個問題? – 2010-03-04 06:09:30
選項2非常酷,在某種程度上,它甚至可以解決沒有使用BasedOn DynamicResources的問題。 – 2010-03-04 07:08:00
我通常通過向客戶解釋,堅持使用當前操作系統主題來解決問題,因爲Windows對最終用戶看起來是「正常」的。然而,在我需要重新定義UI的一部分但用戶界面的內部部分(如Popup)* *不重新定義的情況下,我使用了選項2和選項3。 – 2010-03-04 14:48:23