我有一个 WPF 应用程序(.NET 3.0,VS2008),它在选项卡控件中显示数据。此应用程序中几乎所有控件都需要自定义颜色:基本上是白色前景和绿色背景。
我的问题是,当 XP 主题(比如 Luna)处于活动状态时,它会自动应用于渲染控件,以便我的白色文本写在......白色背景上。例如在活动选项卡项目标题上:
我试过了 :
- 从生成的应用程序中删除嵌入的清单文件(在项目属性中):没用。
在应用程序资源中强制使用 Windows 经典主题:
<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/PresentationFramework.Classic;V3.0.0.0;31bf3856ad364e35;component/themes/classic.xaml" /> </ResourceDictionary.MergedDictionaries>
最后一次尝试对所有控件都有效,除了仍然如上显示的选项卡控件。
任何的想法 ?
更新:我怀疑这种行为是由于我必须应用于选项卡控件的自定义样式:
<Window.Resources>
<Style x:Key="Custom">
<Setter Property="Control.Background" Value="#FF47C7C8" />
<Setter Property="Control.Foreground" Value="White" />
</Style>
<Style TargetType="TabControl" BasedOn="{StaticResource Custom}" />
</Window.Resources>
那么如何获得带有自定义颜色的经典主题呢?