带复选框的BooleanToVisibilityConverter

时间:2014-07-31 17:11:58

标签: c# wpf checkbox converter

我试图隐藏网格,由复选框控制。目前,当我使用盒子时没有任何反应。我无法弄清楚为什么。我在网上找到的所有东西都是我所拥有的。

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="BoolToVis"/>
</Window.Resources>
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition />
    </Grid.RowDefinitions>
    <!--upper window..-->
    <CheckBox x:Name="show" Grid.Row="1" IsChecked="False">Display Preview with Sliders?</CheckBox>
    <Grid Grid.Row="1" 
          Visibility="{Binding ElementName=show, Path=isChecked, Converter={StaticResource BoolToVis}}">
        <!--what I want to hide-->
    </Grid>
</Grid>

没有任何意义。

3 个答案:

答案 0 :(得分:4)

属性名称区分大小写。将 isChecked 替换为绑定中的 IsChecked

Visibility="{Binding ElementName=show, Path=IsChecked,
                     Converter={StaticResource BoolToVis}}"

答案 1 :(得分:2)

尝试

Path=IsChecked

即使XAML区分大小写。

答案 2 :(得分:2)

我建议使用DataTrigger

 <Style x:Key="CheckBoxStyle" TargetType="{x:Type CheckBoxStyle}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding ElementName=show,Path=IsChecked,}" Value="False">
            <Setter Property="Visibility" Value="Collapsed"></Setter>
        </DataTrigger>
    </Style.Triggers>
</Style>