如何将仅限XAML的资源放在DLL(参考)文件中以供WPF应用程序使用?

时间:2014-07-12 21:03:10

标签: c# wpf xaml datagrid

我的WPF应用程序达到了复杂程度,需要将一些代码和其他资源放在参考文件(* .dll)中。

我确信我可以通过跟踪那里的无数应用程序来弄清楚如何做到这一点。

但在这种特殊情况下,文件是两个,XAML:

enter image description here

有人可以举例说明如何公开发布 XAML资源吗?是否需要* .cs文件?

enter image description here

TIA

@HighCore概述的XAML文件应如下所示:

<Application x:Class="Application"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

1 个答案:

答案 0 :(得分:3)

XAML ResourceDictionaries不生成类。我不确定你为什么会这么想。

只需将所需的ResourceDictionary定义移至单独的程序集,然后使用Pack URI Syntax将这些资源合并到app.xaml中的应用程序资源中:

<Application ....>
   <Application.Resources>
      <ResourceDictionary>
         <ResourceDictionary.MergedDictionaries>
             <ResourceDictionary Source="pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml"/> 
         </ResourceDictionary.MergedDictionaries>
      </ResourceDictionary>
   </Application.Resources>
</Application>