所以我正在尝试使用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; }
}
我怎样才能取回已检查的元素索引?
答案 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>
UserList
为List<User>
,其中包含您的所有User
。
由于您将UserList
绑定到ListView
。您可以通过遍历列表来检索所选项目,并阅读每个人Selected
的{{1}}属性。