如何在没有 App.xaml 的情况下制作全球可用的样式
How to make a globally available style WITHOUT App.xaml
我正在为包含 WPF 控件元素的 AutoCAD 插件创建一个 class 库。我想为这些元素添加一个主题,所以我从 Nuget 添加了 WPFThemes.DarkBlend 包。
要 属性 使用主题,您应该将样式参考添加到 App.xaml 文件中,如下所示:
<Application
...
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes\Styles.xaml” />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
不幸的是,因为这只是一个 class 库,所以我没有 App.xaml 文件可以添加此代码。我可以使用我的 Window.Resources,但在这样做时,我担心引用中的样式不会暴露给 Window 元素。这是因为Window不在自己的资源范围内吗?下面是一张显示我目前情况的图片:
谢谢!
在名为 "DarkWindow" 的样式中创建 x:Key 后,我发现我可以直接在 PluginWindow.xaml window 属性中应用样式,如下所示:
<Window Style="{DynamicResource DarkWindow}" />
我正在为包含 WPF 控件元素的 AutoCAD 插件创建一个 class 库。我想为这些元素添加一个主题,所以我从 Nuget 添加了 WPFThemes.DarkBlend 包。
要 属性 使用主题,您应该将样式参考添加到 App.xaml 文件中,如下所示:
<Application
...
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes\Styles.xaml” />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
不幸的是,因为这只是一个 class 库,所以我没有 App.xaml 文件可以添加此代码。我可以使用我的 Window.Resources,但在这样做时,我担心引用中的样式不会暴露给 Window 元素。这是因为Window不在自己的资源范围内吗?下面是一张显示我目前情况的图片:
谢谢!
在名为 "DarkWindow" 的样式中创建 x:Key 后,我发现我可以直接在 PluginWindow.xaml window 属性中应用样式,如下所示:
<Window Style="{DynamicResource DarkWindow}" />