1

静的リソース スタイル

<Style TargetType="{x:Type ToggleButton}">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="ToggleButton">
                                <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}">
                                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                    <Setter Property="Background" Value="Red"></Setter>
                    <Style.Triggers>
                        <Trigger Property="IsChecked" Value="True">
                            <Setter  Property="Background" Value="Green" />
                        </Trigger>
                    </Style.Triggers>
                </Style>

トグルボタンのコード

<ToggleButton  Grid.Row="3" Grid.Column="1" ToolTip="Toggle to Show and Hide Date" IsChecked="True" Cursor="Hand">
                <ToggleButton.Style>
                    <Style TargetType="{StaticResource ToggleButton}">
                    <Setter Property="Content" Value="No Date" />

                    <Style.Triggers>
                        <Trigger Property="IsChecked" Value="True">
                            <Setter  Property="Content" Value="Date" />
                        </Trigger>
                    </Style.Triggers>
                    </Style>
                </ToggleButton.Style>
            </ToggleButton>

しかし、コンテンツ取得エラーを次のように設定することはできませんContent is not recognized or inaccessible.

私は WPF を頻繁に使用するわけではありません。

ありがとう

4

1 に答える 1

3

トグルボタンコードで、変更します

<Style TargetType="{StaticResource ToggleButton}">

<Style TargetType="{x:Type ToggleButton}"  BasedOn="{StaticResource {x:Type ToggleButton}}">

そのタイプのすべてのコントロールに適用される/適用される可能性のあるコントロールに対してグローバルに定義されたスタイルを持つことができますが、個々のコントロールに追加のスタイルを与える必要がある場合は、コントロール内にスタイルを作成し、そのスタイルをグローバル スタイル。

この basedOn は、スタイル x:Type (私の回答のように) で行うことができます。また、特定のスタイルに基づいて使用する場合は、x:Name に基づいて行うこともできます。

于 2015-04-20T08:17:53.703 に答える