所有切换按钮的单一样式但具有不同的静态内容

Single Style for All Toggle Buttons but with Different Static Content

静态资源样式

<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 的常客。

谢谢

在您的切换按钮代码中,更改

<Style TargetType="{StaticResource ToggleButton}">

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

您可以为控件全局定义一个样式,该样式 is/may 适用于该类型的所有控件,但是当您必须为单个控件提供一些额外的样式时,您可以通过在控制该样式并将其基于全局样式。

这个 basedOn 可以在样式 x:Type 上完成(如我的回答),或者如果你想以特定样式为基础,也可以基于 x:Name。