【问题标题】:Binding visibility to isChecked value of a checkbox将可见性绑定到复选框的 isChecked 值
【发布时间】:2013-09-17 02:39:54
【问题描述】:

我正在尝试将我的堆栈面板的可见性绑定到复选框的 isChecked 值。这是一个常见的问题,但我就是想不通。

转换器:

<Page.Resources>
    <common:BooleanToVisibilityConverter x:Key="BoolToVis"/>
</Page.Resources>

StackPanel我要弄乱(我删除了一些代码,所以你不用担心listview的绑定,我在c#中设置的):

<ListView x:Name="aktualniGracze" ItemsSource="{Binding}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel x:Name="stackLiczymy" Visibility="{Binding isChecked,  ElementName=czyLiczymy, Converter={StaticResource BoolToVis}}">
                <TextBlock Text="{Binding ileWypil}"/>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

复选框:

 <CheckBox Name="czyLiczymy"/>

当我更改复选框的状态时没有任何反应,有什么线索吗?

非常感谢。

【问题讨论】:

  • 您是否在输出窗口中看到任何绑定错误?在转换器中设置一个断点,看看你得到了什么值。另外,我会将isChecked 更改为IsChecked
  • CheckBox的DataContext是什么?
  • 哦。将其设置为“IsChecked”就可以了,愚蠢的错误,非常感谢!

标签: c# xaml windows-store-apps


【解决方案1】:

如果您在 CheckBox 中有正确的 DataContext,我认为您只是缺少 DataContext.isChecked

<ListView x:Name="aktualniGracze" ItemsSource="{Binding}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel x:Name="stackLiczymy" Visibility="{Binding DataContext.isChecked,  ElementName=czyLiczymy, Converter={StaticResource BoolToVis}}">
                <TextBlock Text="{Binding ileWypil}"/>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 2014-01-25
    • 2011-08-26
    • 1970-01-01
    • 2013-10-29
    • 2010-12-06
    • 2020-11-16
    • 1970-01-01
    相关资源
    最近更新 更多