让你的wpf程序在win7下呈现win8风格主题
番茄系统家园 · 2021-08-21 18:41:22

注意:我这里取的是的样式文件路径,其它的.Net版本的路径可能稍有不同,具体的自己用看一下基本上就出来了。
有了这些样式路径后,只要在启动的时候应用一下全局样式,即可在Win7种呈现Win8的效果:
()
{
=(",=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35;component/themes/AeroLite.NormalColor.xaml",UriKind.Relative);
App.Current.Resources.Source=uri;
base.OnStartup(e);
}
效果如下,看着还有一点小清新的感觉。
我们还可以以同样的方式实现复古的WinXP效果:
或者更复古的Win98效果:
基于同样的原理,我们也可以只设置某个控件样式:
代码如下:
privatevoidbutton_Click(objectsender,RoutedEventArgse)
{
varuri=newUri("/PresentationFramework.AeroLite,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35;component/themes/AeroLite.NormalColor.xaml",UriKind.Relative);
varresourceDictionary=Application.LoadComponent(uri)asResourceDictionary;
(senderasFrameworkElement).Resources.MergedDictionaries.Add(resourceDictionary);
}
最后需要介绍的一个知识点是:
如果我们有自定义控件的时候,如何像系统控件那样根据不同的系统呈现不同的样式呢?
方法是:在Theme文件夹下加上对应的样式资源即可。
具体可以参看这篇文章:AddWindows8AeroThemeSupporttoyourWPFCustomControl
免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/post/42521.html。
