複数の異なるページで構成される拡張可能なアプリケーションがあります。これらのページのデザインは統一されていません。当社はアプリケーションの一部を他社にライセンス供与しており、他社は独自のデザインを希望している可能性があります。
したがって、会社 A のデザインでスタイル設定されたメイン ウィンドウとページ A と、会社 B のデザインでスタイル設定された別のページ A があるという状況があります。「ページ A」は WPF UserControl であり、コードを複製するのではなく、視覚的な外観を交換したいだけです。
私はさまざまな可能性を評価しました:
テーマ: 私が理解しているように、これはグローバルです。したがって、最初のページ A にテーマを設定し、2 番目のページ A に別のテーマを設定することはできません。
スタイル: 実行時に割り当てることができるので、これで問題ありません。ここでの問題は、ページが平らでないことです。それらには深くネストされた子コントロールがあるため、すべてのサブコントロールに正しい会社固有のスタイルを再帰的に割り当てる必要があります。
誰かが別のアイデアを持っていますか?スタイルアプローチだけが唯一の方法ですか?