3

私はWPFが初めてです。これを行う方法がわかりません。

私はこのスタイルを定義しています -

<Style TargetType="{x:Type Button}" x:Key="StandardButton">

<Setter Property="Background" Value="{StaticResource LightBackground}"/>

    <Setter Property="Foreground" Value="{StaticResource Foreground}"/>

</Style>

コントロールテンプレートがあります -

<ControlTemplate x:Key="ExpanderTemplate" TargetType="{x:Type Expander}">

<ControlTemplate.Resources>

        <Style TargetType="{x:Type Button}" /* Here I need to put above defined style */></Style> 

    </ControlTemplate.Resources>

</ControlTemplate>
4

2 に答える 2

1

すべてButtonsControlTemplateを使用する場合は、スタイルからStyleを削除してx:Keyに追加するだけですControlTemplate.Resources

<ControlTemplate.Resources>
    <Style TargetType="{x:Type Button}">
        <Setter Property="Background" Value="{StaticResource LightBackground}"/>
        <Setter Property="Foreground" Value="{StaticResource Foreground}"/>
    </Style>
</ControlTemplate.Resources>

Stylesのスコープ内のすべてのコントロールに適用するには、 のx:Keyようにコントロールで宣言する必要があります。Style="{StaticResource StandardButton}"ResourcesTargetType

Style上位レベルでがすでに定義されていて、すべてのにResources適用したい場合は、プロパティを使用できます。ButtonsControlTemplateBasedOn

例:

<ControlTemplate x:Key="ExpanderTemplate" TargetType="{x:Type Expander}">
   <ControlTemplate.Resources>
      <Style TargetType="{x:Type Button}" BasedOn="{StaticResource StandardButton}" />
   </ControlTemplate.Resources>
</ControlTemplate>

これは、定義さStandardButton Styleれたスコープ内のすべてのボタンに適用されます。この場合、ResourcesButtonsExpanderTemplate

于 2013-02-18T07:12:11.160 に答える
0

StaticResource と定義した Resource のキー名を使用して、スタイルを参照できます。

Style="{StaticResource StandardButton}"
于 2013-02-18T06:47:21.173 に答える