WPF Windows上的夜视模式

时间:2015-10-03 22:38:42

标签: c# wpf vision

我们使用传统用户界面(常用控件,如标签,按钮,标签,文本框等)制作了WPF应用程序。

我们需要添加一个夜视"模式,这将使它看起来像Stellarium的夜视模式,因此它可以在几乎没有光的地方舒适地使用。

据我所知,我们只有两个选择:

  1. 一种称为"阴影" (我不知道如何在WPF中实现这一点。)
  2. 蛮力方式:定义控件的样式模板。如你所知,这意味着一项巨大的工作,因为我们需要为每个使用的控件(边框,背景,画笔等等)重新定义每个属性。
  3. 问题是:

    1. 在WPF中实现这一目标的最佳方式是什么?
    2. 如果我们使用MahApps Metro Style会更复杂吗?我知道MahApps可以让你自定义他们的风格,但问题就是在不同的模板之间切换(分别用于白天和夜晚的两个模板)。
    3. 非常感谢!

1 个答案:

答案 0 :(得分:3)

一个建议当然是Mahapps主题。 您可以通过以下方式在Light和Dark之间切换:

// get the theme from the current application
var theme = ThemeManager.DetectAppStyle(Application.Current);

// now set the Green accent and dark theme
ThemeManager.ChangeAppStyle(Application.Current,
                            ThemeManager.GetAccent("Green"),
                            ThemeManager.GetAppTheme("BaseDark"));

Mahapps.Styles for ref

或者你可以为每个画笔使用DynamicResource并更改单个ResourceDictionary,让他们改变点击中的所有内容:)