2013-10-03 132 views
0

我已經閱讀了一堆關於資源字典的文章,但沒有一篇適用於我的案例。 我的解決方案僅由Delphi(VCL)應用程序中使用的dll構成。 這些DLL,Windows(WPF)窗體等等。在dll之間共享資源

哪裏可以放一些資源字典,這樣所有的dll都可以重用呢?

+2

在您的'bin'文件夾中,在GAC中?你有什麼嘗試? – CodeCaster

回答

0

不確定你的意思是「資源」,但你可以添加文件到一個.dll通過將它們包括在你的項目(只需創建一個新的文件夾「資源」,然後右鍵單擊和add existing item它)。

右鍵單擊並選擇您剛剛添加的文件中的properties。在Build Action下,選擇Embedded Resource。當您現在編譯您的項目時,該文件將包含在.dll中。

我相信你可以找到很多關於訪問嵌入式資源的信息;看到this SO post, for instance, about reading from an embedded text file.

+0

我的意思是「資源字典」,在同一個地方設置控件的可視化屬性。 – Beetlejuice

0

我得到這個工作,跟隨此步驟:

  1. 我創建一個新的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> 
    

  2. 在我的其他項目,我指的是這個資源這樣的XAML:

    <Window.Resources> 
    <ResourceDictionary> 
        <ResourceDictionary.MergedDictionaries> 
         <ResourceDictionary Source="/my.project.here;component/Assets/CommonDictionary.xaml"/> 
        </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
    

  3. 就是這樣。

相關問題