我已经阅读了一些关于资源字典的帖子,但在我的情况下都没有。 我的解决方案仅由dll构成,这些dll是从Delphi(VCL)应用程序中使用的。 这些dll,有窗口(WPF)形式,等等..
我在哪里可以放一些资源字典,这样所有的dll都可以重用呢?
答案 0 :(得分:0)
确切地说“资源”是什么意思,但您可以通过将文件包含在项目中来将文件添加到.dll中(只需创建一个新文件夹“resources”,然后右键单击并add existing item
到它)。
右键单击并在刚刚添加的文件上选择properties
。在Build Action
下,选择Embedded Resource
。现在编译项目时,该文件将包含在.dll中。
我相信你可以找到很多关于访问嵌入式资源的信息;见this SO post, for instance, about reading from an embedded text file.
答案 1 :(得分:0)
我按照以下步骤开始工作:
我创建了一个新的dll项目,并在其中添加了新的项目“Resource Dictionay(WPF)”。 在这个文件中,我声明了我的自定义资源,如下所示:
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.30"></Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Opacity" Value="1"></Setter>
</Trigger>
</Style.Triggers>
<Setter Property="Background" Value="Transparent"></Setter>
<Setter Property="BorderBrush" Value="Transparent"></Setter>
</Style>
在我的其他项目中,我在XAML中以这种方式引用此资源:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/my.project.here;component/Assets/CommonDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
就是这样。