在UWP中,我想获得ListView元素复选框的值

时间:2017-01-19 21:32:07

标签: c# listview uwp uwp-xaml

所以我正在尝试使用ListView(而不是CheckedListBox)的程序,我想获取已检查元素的索引。

我将它用作ListView的模板:

<ListView x:Name="Content" HorizontalAlignment="Left" Height="303" Margin="10,47,0,0" VerticalAlignment="Top" Width="394" ItemClick="Content_ItemClick" SelectionChanged="Content_SelectionChanged">
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <CheckBox IsChecked="{Binding Selected}"></CheckBox>
                <TextBlock Text="{Binding Name}"></TextBlock>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

这是它得到的数据:

public class User
{
    public string Name { get; set; }
    public bool Selected { get; set; }
}

我怎样才能取回已检查的元素索引?

1 个答案:

答案 0 :(得分:0)

我相信您的ListView的项目源已绑定到支持列表

    <ListView  ItemSource"{x:Bind UserList, Mode=OneWay}" >
    <ListItem.ItemTemplate>
      <DataTemplate>
         <StackPanel Orientation="Horizontal">
           <CheckBox IsChecked="{Binding Selected, Mode=TwoWay} Click="Click_Handler"/>
           <TextBlock Text="{Binding Name}"/>
         </StackPanel>
      </DataTemplate>
     </ListItem.ItemTemplate>
    </ListView>

UserListList<User>,其中包含您的所有User。 由于您将UserList绑定到ListView。您可以通过遍历列表来检索所选项目,并阅读每个人Selected的{​​{1}}属性。