我正在WinXP上编写一个WPF应用程序,我已经使用Vista主题覆盖了默认主题,方法如下:
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样式覆盖指定主题的样式,而不是在其基础上构建。这对我来说非常限制。有没有办法避免这个问题?