如何在没有 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}" />