【问题标题】:Check checkboxes are checked in ListView UWP检查复选框在 ListView UWP 中被选中
【发布时间】:2016-04-04 18:46:30
【问题描述】:

我有一个 ListView,它包含 22 个 CheckBox。我应该检查所有这些,如果选中了checkBox,则返回1,否则返回0。

                 < ListView x: Name = "CheckBoxList" >  
                   < CheckBox x: Name = "nr1" />
                    ...    
                   < CheckBox x: Name = "nr22" />
                  </ListView>

我在这里发送 thouse 1 或 0

            dynamic sendMessage = MyApi.Api.sendMessage( //for example 1, 0, 1, 1, 0, 0 etc.//);

如何自动制作?因为我所知道的只是如何手动检查它(if - else 为每个控件),但这不是一个好的解决方案。

【问题讨论】:

    标签: c# listview checkbox win-universal-app windows-10


    【解决方案1】:

    你可以返回真或假而不是 1,0。如果是这样,您可以将属性绑定到 CheckBox 的 IsChecked 属性。 如果不能返回 true 或 false,则必须使用值转换器

    <ListView ItemsSource="{Binding values}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <CheckBox IsChecked="{Binding value}"/>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    

    如果不能返回真或假

     <Page.Resources>
            <local:BooleanToIntegerConverter x:Key="BooleanToIntegerConverter"/>
        </Page.Resources>
    
    <ListView ItemsSource="{Binding values}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <CheckBox IsChecked="{Binding value,Converter={StaticResource BooleanToIntegerConverter}}"/>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    

    转换器

    public class BooleanToIntegerConverter : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, string language)
            {
                if ((bool)value)
                    return 1;
                else
                    return 0;
            }
            public object ConvertBack(object value, Type targetType, object parameter, string language)
            { throw new NotImplementedException(); }
        }
    

    【讨论】:

      猜你喜欢
      • 2021-07-16
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 2020-03-01
      相关资源
      最近更新 更多