継承したいサードパーティからのWPFコントロールParentWPFControlがあります(子クラスChildWPFControlを呼び出しましょう)。その過程で、バックエンド ロジックの一部とフロント エンド スタイルの一部をオーバーライドする予定です。前者は問題なくできますが、後者は問題があります。
子国に xaml <-> xaml.cs 構造を使用しようとしましたが、VS から次の警告が表示されて許可されていないようです:
Partial declarations of 'ChildWPFControl' must not specify different base classes
ここで、ResourceDictionary XAML を記述してそこでフロント エンドを定義できると思いますが、XAML にイベント ハンドラーを追加する場合は問題になります (少なくとも、その方法は見つかりませんでした)。
私が持っている別の方法は、ChildWPFControl を使用するオブジェクトでオーバーライド テンプレートを直接定義することですが、これにより設計のモジュール性が低下します。
私が考えることができる最後の代替手段は、XAML スタイル コンテナーである xaml <-> xaml.cs ペアを作成し、ChildWPFControl がバックエンド イベント ハンドラーを介して内部で定義された ControlTemplate を使用するように強制することです。
とにかく、私が探しているのは、私の問題に対するエレガントでモジュラーなソリューションです。どんなアドバイスでも大歓迎です。
ありがとう