0

アプリケーションにプロジェクトがあり、すべてのリソースと再利用可能なカスタム コントロール クラス (スタイル、ブラシ、カスタム コントロールなどを含む) を保持しています。

アプリケーションの「メイン」プロジェクトの App.xaml ファイルは、整理されたすべての ResourceDictionary ファイルを次のように参照する ResourceLibrary ファイルを参照します。

     <Application.Resources>
   <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/ControlResources;component/ResourceDictionaries/ResourceLibrary.xaml"/>
            <ResourceDictionary Source="Simple Styles.xaml"/>     
        </ResourceDictionary.MergedDictionaries>

        <Style TargetType="{x:Type Window}">
            <Setter Property="FontFamily" Value="Segoe UI" />
        </Style>

        <Style TargetType="{x:Type Rectangle}" /> 

    </ResourceDictionary>


</Application.Resources>

注:大きな修正 (上記の Rectangle スタイル) を含むこの記事をフォローしています。

以下は、私の「ControlResources」プロジェクトがどのように見えるかのスナップショットです。

これが私の

スタイル リソースと customControl リソースの参照は、メイン プロジェクトである「GlenwareMaster」から参照するとうまく機能しますが、いずれかのスタイル リソースから「ブラシ」の下のブラシ リソースを参照すると、アプリケーションは明らかにそれらを見つけられません。

私の質問: プロジェクトの自己参照リンクを追加することはできますか (固有の右クリック ブレンド機能ですか?)。スタイル ResourceDictionaries を取得して、同じプロジェクト内のブラシ ResourceDictionaries を見つけるにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

0

スタイル ディクショナリでブラシ リソース ディクショナリをどのように参照していますか? パック URI を使用していることと、それらが正しいことを確認してください。

私の標準的な方法は、別のリソース ディクショナリ内で参照する予定のリソース ディクショナリで絶対パック URI 形式を使用することです。これにより、将来別のプロジェクトに移動する場合にエラーが少なくなります。一般的なスタイル リソース ディクショナリでブラシを参照する場合は、次のようにしてください。

<ResourceDictionary Source="pack://application:,,,/ControlResources;component/ResourceDictionaries/Brushes/MyBrushes.xaml"/>

Pack URI の詳細については、http: //msdn.microsoft.com/en-us/library/aa970069.aspxを参照してください。

于 2013-04-11T19:46:46.073 に答える