代码之家  ›  专栏  ›  技术社区  ›  stil

如何移动应用程序。外部程序集的资源?

  •  2
  • stil  · 技术社区  · 9 年前

    假设我有 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包并在几秒钟内安装这些样式。

    2 回复  |  直到 9 年前
        1
  •  3
  •   SamTh3D3v    9 年前

    您可以创建一个简单的 classLibrary 项目,在单独的资源字典(推荐)中定义所有样式和模板等,并将所有这些字典合并到一个字典中。

    要使用该特定部件中的样式,只需在 约Xaml 文件

    下面的镜头可以让您看到全局视图

    enter image description here

    我习惯于创建一个单独的 ResourceDictionary 每个 style (方便访问),所有这些资源字典都合并到 资源库.Xaml

    enter image description here

    现在参考一下 控件库程序集 (添加引用后),在 应用.xaml 文件添加

     <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/ControlLibrary;component/ResourcesDictionaries/ResourceLibrary.xaml"/>
            </ResourceDictionary.MergedDictionaries>            
        </ResourceDictionary>        
    </Application.Resources>
    
        2
  •  1
  •   Andrey    9 年前

    您需要生成资源程序集。在这里,您可以阅读如何创建它: https://msdn.microsoft.com/en-us/library/aa984332(v=vs.71).aspx