5

MyControl.csアプリケーション プロジェクト (.exe) にWPF カスタム コントロールがあり、そのスタイルは のリソース ディクショナリにありMyControlResources.xamlます。この xaml はapp.xaml、マージされた辞書の一部として指定されています。すべて正常に動作します。

ここで、このカスタム コントロールを、アプリケーションが参照する既存の DLL プロジェクトに移動したいと考えています。DLL でリソース ディクショナリの "割り当て" を作成し、それを呼び出し元に透過的にする方法はありますか。つまり、アプリケーション プロジェクトは、リソース ディクショナリについて何も知らなくても、組み込みコントロールのように使用できますか?

新しいカスタム コントロール プロジェクトを作成するとうまくいくことについて読んだことがありますが、新しいプロジェクトを作成したくないコントロールは 1 つだけです。既存のクラス ライブラリ DLL でそれを行う方法を知っている人はいますか?

4

1 に答える 1

2

この答えは、トリックを見つけるのに役立ちました。

  1. Themes\Generic.xamlリソース ディクショナリをマージするためのファイルを作成します。

  2. に次の属性を追加します。Assembly.cs

    [アセンブリ: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]

于 2012-10-17T23:00:47.650 に答える