アプリケーション内のすべての StackPanel の背景を何らかの色に設定したいとしましょう。App.xaml で次の内容を取得しました。
<Style TargetType="StackPanel">
<Setter Property="Background" Value="#222222" />
</Style>
これは、StackPanel が純粋な StackPanel であり、StackPanel がアプリの下にある必要がある場合にのみ機能します。ただし、ポップアップ ダイアログ内の StackPanel または StackPanel のサブクラスの背景色は、これによって変更されません。例えば:
public class MyStackPanel : StackPanel { ... }
サブクラス化の問題を解決する 1 つの方法は、UserControl を拡張し、StackPanel を UserControl に埋め込むことです。StackPanel のプロパティにアクセスする必要がない限り、これは問題ありません。
何か案が?
WPFテーマを設定する最良の方法は何ですか?