我已經閱讀了一堆關於資源字典的文章,但沒有一篇適用於我的案例。 我的解決方案僅由Delphi(VCL)應用程序中使用的dll構成。 這些DLL,Windows(WPF)窗體等等。在dll之間共享資源
哪裏可以放一些資源字典,這樣所有的dll都可以重用呢?
我已經閱讀了一堆關於資源字典的文章,但沒有一篇適用於我的案例。 我的解決方案僅由Delphi(VCL)應用程序中使用的dll構成。 這些DLL,Windows(WPF)窗體等等。在dll之間共享資源
哪裏可以放一些資源字典,這樣所有的dll都可以重用呢?
不確定你的意思是「資源」,但你可以添加文件到一個.dll通過將它們包括在你的項目(只需創建一個新的文件夾「資源」,然後右鍵單擊和add existing item
它)。
右鍵單擊並選擇您剛剛添加的文件中的properties
。在Build Action
下,選擇Embedded Resource
。當您現在編譯您的項目時,該文件將包含在.dll中。
我相信你可以找到很多關於訪問嵌入式資源的信息;看到this SO post, for instance, about reading from an embedded text file.
我的意思是「資源字典」,在同一個地方設置控件的可視化屬性。 – Beetlejuice
我得到這個工作,跟隨此步驟:
我創建一個新的dll項目,並在其中添加新項「資源百科(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>
就是這樣。
在您的'bin'文件夾中,在GAC中?你有什麼嘗試? – CodeCaster