1. ホーム
  2. wpf

[解決済み] すべてのコントロールをターゲットにする方法 (WPF Styles)

2023-02-15 02:31:21

質問

すべての要素に適用されるスタイルを指定することはできますか?試しに

<Style TargetType="Control">
    <Setter Property="Margin" Value="0,5" />
</Style>

しかし、それは何もしなかった

どのように解決するのですか?

この Style のみを対象としています。 Control から派生した要素ではなく Control . を設定しない場合は x:Key を設定しない場合は、暗黙のうちに TargetType に設定されるので、あなたの場合は x:Key="{x:Type Control}" .

を直接指定する方法はありません。 Style から派生する全ての要素を対象とする TargetTypeStyle . 他にもオプションがありますね。

もしあなたが以下のような Style

<Style x:Key="ControlBaseStyle" TargetType="{x:Type Control}">
    <Setter Property="Margin" Value="50" />
</Style>

すべての Buttons 例えば

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ControlBaseStyle}"/>

または、任意の要素に直接スタイルを使用する、例えば Button

<Button Style="{StaticResource ControlBaseStyle}" ...>