WPF系统主题颜色

时间:2016-11-15 08:12:08

标签: c# wpf windows xaml themes

我试图将我的WPF应用主题看起来像......一个普通的桌面应用。

我已经看到其他问题的答案基本上都是一样的,但解决方案似乎对我不起作用。假设我的菜单栏在XAML中定义如下:

<DockPanel>
    <Menu DockPanel.Dock="Top"
          Background="{DynamicResource {x:Static SystemColors.MenuBarBrushKey}}" />
</DockPanel>

(实际上它还包含MenuItem条目等。) 在Windows 10上运行---没有默认主题的更改---我的菜单栏是浅灰色的#f0f0f0颜色。如果我启动其他(非地铁)应用程序,如记事本,Notepad ++,Evernote,Maple,Snipping Tool等,菜单栏为白色:#ffffff。

有人能指出我正确使用Windows系统颜色的正确方向吗?

2 个答案:

答案 0 :(得分:0)

WPF是一个非常可定制的UI框架。默认情况下,它并没有真正成为主题&#39;并且默认看起来很糟糕(意见),但您可以自由创建任何想要调整应用程序外观的样式。

您需要自己为应用程序创建样式控件,使用已创建的某些样式或构建在UI样式框架之上。

Windows 7 theme for WPF?

包含大量免费主题的codeplex: http://wpfthemes.codeplex.com/

或者,您可以在样式/主题框架之上构建。我之前使用过的并且会推荐的是MahApps Metro - 它是一个工具包,可用于制作地铁风格的应用程序,默认样式看起来非常棒,并且有很多已经改版/自定义{{3 }}。您可以轻松地覆盖该库中的样式以创建自己的外观。它还使用了全程使用的两种基色配色方案,在整个应用程序中提供了非常一致和可定制的感觉。还有其他框架,但我发现的框架主要是针对Metro&#39; Metro&#39;主题。

controls

Modern UI for WPF

答案 1 :(得分:-1)

您需要SystemColors课程。这是一篇很好用的文章:SystemColors Reference。读得很好:)