6

別のプロジェクト(Elysiumなど)で定義されているリソースライブラリへの参照を追加し、それをExpressionBlendで使用しようとしています。

App.Xamlファイルのリソースディクショナリをマージする方法は次のとおりです。

    <Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro.Resources;component/Icons.xaml" />
            <ResourceDictionary Source="pack://application:,,,/Telerik.Windows.Themes.Metro;component/Themes/System.Windows.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

しかし、Expression Blend 4のライブラリで定義されているブラシリソースを取得できないようです。何かアイデアはありますか?

ここに画像の説明を入力してください

4

3 に答える 3

5

Expression Blendフォーラムで私の答えを見つけました:http ://social.msdn.microsoft.com/Forums/en/blend/thread/21bdc8a1-4a58-49f9-ae4d-c736b8fd673a

「プロジェクト>既存のアイテムへのリンク>(外部リソースディクショナリに移動し、それを選択して[OK]をクリックします。)再構築します。」

于 2013-02-05T09:02:57.210 に答える
1

Sourceプロパティが正しく設定されていないと思います。

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary 
                   Source="/WpfControlLibrary1;component/BrushesInAssembly.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>
<Grid x:Name="LayoutRoot" Background="{DynamicResource RedBrush}"/>

これに到達するために私がしたこと:

サンプルとして、Blendで新しいWPFプロジェクトを作成し、コントロールライブラリを追加しました。メインプロジェクトからアセンブリを参照しました。

RedBrushという1つのブラシでリソース辞書を追加しました。

事業

MainWindow.xamlにアクセスして、リソースパネルを開きました。そこで辞書をリンクしました。

リソースペイン

リンクすると、リソースのリストに表示されます。

RedBrush

于 2013-02-04T12:43:35.907 に答える
0

あなたがすでに解決策を見つけたことを願っていますが、そうでない場合は、このリンクを常に参照として使用します。

これは次のことを行います。外部のリソースプロジェクトでResourceLibrariesをリンクする方法、スタイルに名前を付けて整理し、チームの誰もが何が起こっているのかを知る方法などを示します。とてもシンプルで素晴らしいです。

それが誰かを助けることを願っています。

于 2013-04-11T16:42:30.960 に答える