在WPF样式中如何将绑定父复选框属性更正为子项?

时间:2017-08-10 15:36:49

标签: wpf wpf-style

我是WPF样式的新手,我不能让下一个工作: 我有一个自定义复选框样式,其中包含另一个复选框。我需要父“IsChecked”值来改变,因为ControlTemplate中的“contolCheckBox”子项发生了变化。 尝试了不同的触发器但无法获取父属性。 现在我有下一个xaml代码:

<Style x:Key="CustomCheckBox" TargetType="{x:Type CheckBox}">
    <Setter Property="Height" Value="27" />
    <Setter Property="Foreground" Value="#FFBABAC7" />
    <Setter Property="HorizontalContentAlignment" Value="Left"/>
    <Setter Property="VerticalContentAlignment" Value="Center"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type CheckBox}">
                <Grid>
                    <CheckBox x:Name="contolCheckBox" HorizontalAlignment="Right" VerticalAlignment="Center"/>
                    <ContentPresenter  HorizontalAlignment="Left" VerticalAlignment="Center"/>
                </Grid>
            </ControlTemplate>

        </Setter.Value>
    </Setter>

    <Setter Property="IsChecked" Value="{Binding IsChecked, ElementName=contolCheckBox}"/>
    <!---->
    <Style.Triggers>
        <Trigger Property="IsChecked" Value="True">
            <Setter Property="Foreground" Value="#FF29E200"/>
        </Trigger>
        <Trigger Property="IsChecked" Value="False">
            <Setter Property="Foreground" Value="Firebrick"/>
        </Trigger>
    </Style.Triggers>
</Style>

“IsChecked”控制值没有变化。 我做错了什么?

Binding ElementName=contolCheckBox, Path=IsChecked

也不行。

0 个答案:

没有答案