跨项目/ dll访问Xaml中的资源

Jam*_*add 7 wpf resources xaml

是否可以从另一个项目引用存储在ResourceDictionary(构建操作=资源)中的Xaml资产?我想将资产合并到主项目的资源字典中,或者单独访问它们.例如:

  • Project"MyResources"包含一个名为"Assets"的文件夹,其中有一个名为"MyAssets.xaml"的ResourceDictionary,其中包含一个名为"ButtonStyle"的Style
  • 项目"MainProject"引用MyResources; 在MainWindow.xaml中

在MainWindow.xaml中,我想做类似的事情:

<ResourceDictionary.MergedResources>
    <ResourceDictionary Source="/MyResources/Assets/MyAssets.xaml"/>
</ResourceDictionary.MergedResources>
Run Code Online (Sandbox Code Playgroud)

或者,如果那是不可能的,也许:

<Button Style="{StaticResource /MyResources/Assets/MyAssets.xaml}"/>
Run Code Online (Sandbox Code Playgroud)

有没有办法从MainProject引用MyResources中的东西?

Lar*_*ens 14

根据 ResourceDictionary的另一个程序集

<ResourceDictionary.MergedResources>
  <ResourceDictionary Source="pack://application:,,,/YourAssembly;component/Subfolder/YourResourceFile.xaml"/>
</ResourceDictionary.MergedResources>
Run Code Online (Sandbox Code Playgroud)


小智 13

<ResourceDictionary Source="/Commons;component/Themes/TreeStyle.xaml" />
Run Code Online (Sandbox Code Playgroud)

哪里:

Commons是外部项目的名称

/Themes/TreeStyle.xaml对应于项目Commons中样式文件的位置

;组件始终是必需的