WPF 获取 CheckBox 选中列 ID 的方法
在 WPF 中,可以通过绑定数据源和使用绑定来获取 CheckBox 选中列的 id 值。具体步骤如下:
- 绑定数据源:将数据源绑定到控件上,如下所示:
<ListView ItemsSource="{Binding Items}">
<ListView.View>
<GridView>
<GridViewColumn Header="ID" DisplayMemberBinding="{Binding Id}"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="IsSelected">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
- 在数据模型中添加 IsSelected 属性,并在 ViewModel 中设置绑定:
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
}
public class ViewModel
{
public ObservableCollection<Item> Items { get; set; }
public ViewModel()
{
Items = new ObservableCollection<Item>
{
new Item {Id = 1, Name = "Item 1"},
new Item {Id = 2, Name = "Item 2"},
new Item {Id = 3, Name = "Item 3"},
new Item {Id = 4, Name = "Item 4"},
new Item {Id = 5, Name = "Item 5"}
};
}
}
- 在 ViewModel 中添加一个方法,用于获取选中的 ID:
public int[] GetSelectedIds()
{
return Items.Where(x => x.IsSelected).Select(x => x.Id).ToArray();
}
调用该方法即可获取选中的 ID 数组。
原文地址: https://www.cveoy.top/t/topic/nk30 著作权归作者所有。请勿转载和采集!