假设我有包含以下内容的 App.xaml
:
[...]
<Application.Resources>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="BorderBrush" Value="{StaticResource Theme.CheckBox.Border}" />
<Setter Property="Foreground" Value="{StaticResource Theme.Foreground}" />
</Style>
</Application.Resources>
[...]
现在,我想将这些定义移至外部程序集。这样我就可以在我的应用程序中重复使用 WPF 控件和窗口样式。例如,我可以创建 NuGet 包并在几秒钟内安装这些样式。
最佳答案
您可以创建一个简单的 classLibrary
项目,在单独的资源字典中定义所有样式和模板等(推荐),并将所有这些字典合并到一个字典中。
要使用该特定程序集中的这些样式,只需在您的 App.Xaml 文件中引用它即可,
下面的照片应该可以让您了解全局
我习惯于为每个样式
创建一个单独的ResourceDictionary
(以便于访问),并且所有这些资源字典都合并在ResourceLibrary.Xaml
现在要引用该 ControlLibraryAssembly(添加对它的引用后),请在 app.xaml 文件中添加
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ControlLibrary;component/ResourcesDictionaries/ResourceLibrary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
关于c# - 如何将 Application.Resources 移动到外部程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32371414/