PresentationFramework.Aero2 中提供了哪些主题?
Which themes are available in PresentationFramework.Aero2?
我的 WPF 应用程序太亮了,我想给它应用一个深色主题。
在我的计算机上,Explorer 使用的是深色主题。我可以在我的 WPF 应用程序上使用与资源管理器相同的主题吗?如果是这样,我该怎么做?
我看到示例说我可以将其添加到我的 App.xaml
:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
这很有效,我的主题现已更改。 但是其他可用的主题是什么?他们长什么样?
而且我想既然“Aero2”是一回事,这可能看起来更现代。我尝试将 Source
属性 更改为 /PresentationFramework.Aero2;component/themes/Aero.NormalColor.xaml
(注意“2”)但它引发了错误:
IOException: Cannot locate resource 'themes/aero.normalcolor.xaml'.
切换 WPF Built-In 主题
对于 .NET Core 3.1,您必须将主题词典合并到应用程序资源中。
<Application x:Class="YourApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPFThemes"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
对于.NET Framework,您也必须合并主题资源字典,但您还必须在您的项目中引用相应的主题程序集。在您的项目中,右键单击 References、select Add Reference... 并展开 Assemblies 树项目。搜索 PresentationFramework,然后选中要引用的主题程序集的复选框并单击 确定。
Built-In 主题
AeroLite - Windows 8 到 10 个相似的主题
/PresentationFramework.AeroLite;component/themes/AeroLite.NormalColor.xaml
Aero2 - Windows 8 到 10 个相似主题
/PresentationFramework.Aero2;component/themes/Aero2.NormalColor.xaml
Aero - Windows 7 主题
/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml
Luna - Windows XP 主题
- 绿色变种
/PresentationFramework.Luna;component/themes/Luna.NormalColor.xaml
- 银色版本
/PresentationFramework.Luna;component/themes/Luna.Metallic.xaml
- 橄榄色变种
/PresentationFramework.Luna;component/themes/Luna.Homestead.xaml
Royale - Windows XP Media Center 主题
/PresentationFramework.Royale;component/themes/Royale.NormalColor.xaml
经典 - Windows 95/98/2000 相似主题
/PresentationFramework.Classic;component/themes/Classic.xaml
其他主题
On my computer, Explorer is using a dark theme. Can I use the same theme as Explorer on my WPF application? And if so, how do I do that?
不,你不能。亮暗模式没有 built-in 主题。如果您没有指定或覆盖此行为,则将在当前操作系统下为您的应用程序选择最合适的主题。对我来说 Windows 10 即 Aero2.
如果你想要一个更现代的主题,支持浅色和深色模式,你必须看看像 MahApps.Metro or MaterialDesignInXAML 这样的第三方库。这些还提供了基于操作系统浅色或深色设置的自动主题切换。
我的 WPF 应用程序太亮了,我想给它应用一个深色主题。
在我的计算机上,Explorer 使用的是深色主题。我可以在我的 WPF 应用程序上使用与资源管理器相同的主题吗?如果是这样,我该怎么做?
我看到示例说我可以将其添加到我的 App.xaml
:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
这很有效,我的主题现已更改。 但是其他可用的主题是什么?他们长什么样?
而且我想既然“Aero2”是一回事,这可能看起来更现代。我尝试将 Source
属性 更改为 /PresentationFramework.Aero2;component/themes/Aero.NormalColor.xaml
(注意“2”)但它引发了错误:
IOException: Cannot locate resource 'themes/aero.normalcolor.xaml'.
切换 WPF Built-In 主题
对于 .NET Core 3.1,您必须将主题词典合并到应用程序资源中。
<Application x:Class="YourApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPFThemes"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
对于.NET Framework,您也必须合并主题资源字典,但您还必须在您的项目中引用相应的主题程序集。在您的项目中,右键单击 References、select Add Reference... 并展开 Assemblies 树项目。搜索 PresentationFramework,然后选中要引用的主题程序集的复选框并单击 确定。
Built-In 主题
AeroLite - Windows 8 到 10 个相似的主题
/PresentationFramework.AeroLite;component/themes/AeroLite.NormalColor.xaml
Aero2 - Windows 8 到 10 个相似主题
/PresentationFramework.Aero2;component/themes/Aero2.NormalColor.xaml
Aero - Windows 7 主题
/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml
Luna - Windows XP 主题
- 绿色变种
/PresentationFramework.Luna;component/themes/Luna.NormalColor.xaml
- 银色版本
/PresentationFramework.Luna;component/themes/Luna.Metallic.xaml
- 橄榄色变种
/PresentationFramework.Luna;component/themes/Luna.Homestead.xaml
- 绿色变种
Royale - Windows XP Media Center 主题
/PresentationFramework.Royale;component/themes/Royale.NormalColor.xaml
经典 - Windows 95/98/2000 相似主题
/PresentationFramework.Classic;component/themes/Classic.xaml
其他主题
On my computer, Explorer is using a dark theme. Can I use the same theme as Explorer on my WPF application? And if so, how do I do that?
不,你不能。亮暗模式没有 built-in 主题。如果您没有指定或覆盖此行为,则将在当前操作系统下为您的应用程序选择最合适的主题。对我来说 Windows 10 即 Aero2.
如果你想要一个更现代的主题,支持浅色和深色模式,你必须看看像 MahApps.Metro or MaterialDesignInXAML 这样的第三方库。这些还提供了基于操作系统浅色或深色设置的自动主题切换。