定义自定义复选框样式

时间:2017-04-25 23:49:58

标签: wpf

下午好,

我目前正在尝试在WPF中编写一个自定义复选框控件,它只是反转复选标记的方向。使用下面的代码我可以在特定控件上执行此操作。

                        <CheckBox.Resources>
                            <Style TargetType="{x:Type Path}">
                                <Setter Property="FlowDirection" 
                                  Value="LeftToRight"/>
                            </Style>
                        </CheckBox.Resources>

但是,我不想重复这段代码50次以上,所以我希望得到一些帮助来覆盖复选框控件以完全相同但只是反转复选标记。我还没有玩过覆盖WPF控件,所以任何额外的解释都会非常感激!

1 个答案:

答案 0 :(得分:1)

您可以将样式与其余样式和资源放在应用程序级别(在App.xaml的资源中。)

<Style TargetType="{x:Type CheckBox}" BasedOn="{StaticResource {x:Type CheckBox}}">
    <Style.Resources>
        <Style TargetType="{x:Type Path}">
            <Setter Property="FlowDirection" Value="LeftToRight"/>
        </Style>
    </Style.Resources>
</Style>

此样式适用于范围内的所有复选框,因为未指定x:Key