C# 从WPF中的按钮继承的用户控件

C# 从WPF中的按钮继承的用户控件,c#,.net,wpf,C#,.net,Wpf,我被要求创建一个单选框,复选框的变化在视觉上类似于一个按钮 对于这种行为: 单击按钮时,它将更改为选中状态,背景将更改,再次单击时,状态将更改为未选中状态,背景将变为原始笔刷 起初,我的策略是创建一个用户控件。但由于我的控件几乎等于一个按钮,所以使用继承对我来说是有意义的 所以我的问题是 是否可以创建从按钮继承的用户控件?如果是,这是一个好办法吗?如何操作?您可以使用WPF切换按钮。您可以使用WPF切换按钮。一种可能的方法是使用,但在选中后完全更改其外观: 使用两种不同的模板,例如和,看看它是如

我被要求创建一个单选框,复选框的变化在视觉上类似于一个按钮

对于这种行为: 单击按钮时,它将更改为选中状态,背景将更改,再次单击时,状态将更改为未选中状态,背景将变为原始笔刷

起初,我的策略是创建一个用户控件。但由于我的控件几乎等于一个按钮,所以使用继承对我来说是有意义的

所以我的问题是
是否可以创建从按钮继承的用户控件?如果是,这是一个好办法吗?如何操作?

您可以使用WPF切换按钮。

您可以使用WPF切换按钮。

一种可能的方法是使用,但在选中后完全更改其外观:


使用两种不同的模板,例如和,看看它是如何工作的。

一种可能的方法是使用,但在检查为真时完全改变其外观:


使用2个不同的模板,例如和,查看其工作原理。

使用2个基于已检查的模板。请参见,例如…@Sinatr,您能用一段代码作为答案吗?ToggleButton非常适合您的要求。只需使用基于IsChecked的2个模板编写XAML。请参见,例如…@Sinatr,您能用一段代码作为答案吗?ToggleButton非常适合您的要求。只需在XAML中编写How so?,我在工具箱/所有WPF控件中查找,但找不到这个切换按钮。我正在使用Visual Studio 2015社区。我需要做些什么来显示此项吗?怎么做?我在工具箱/所有WPF控件中查找,但找不到此切换按钮。我正在使用Visual Studio 2015社区。我需要做些什么来显示此项目吗?
<ToggleButton>
    <ToggleButton.Style>
        <Style TargetType="ToggleButton">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>

                        <!-- IsChecked == false template -->

                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Trigger.Setters>
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate>

                                    <!-- IsChecked == true template -->

                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Trigger.Setters>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>