在Datagrid WPF中添加复选框,可以通过以下步骤实现:
- 首先,在XAML文件中定义Datagrid和DataTemplate:<DataGrid x:Name="dataGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn Header="复选框" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsChecked}" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!-- 其他列定义 -->
</DataGrid.Columns>
</DataGrid>public class DataModel : INotifyPropertyChanged
{
private bool _isChecked;
public bool IsChecked
{
get { return _isChecked; }
set
{
_isChecked = value;
OnPropertyChanged("IsChecked");
}
}
// 其他属性定义
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}public MainWindow()
{
InitializeComponent();
var data = new List<DataModel>();
// 添加数据
dataGrid.ItemsSource = data;
}private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
// 获取选中的数据模型
var dataModel = (sender as CheckBox).DataContext as DataModel;
// 处理选中逻辑
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
// 获取取消选中的数据模型
var dataModel = (sender as CheckBox).DataContext as DataModel;
// 处理取消选中逻辑
}以上就是在Datagrid WPF中添加复选框的方法。
- 在代码后台定义数据模型,并添加IsChecked属性:
- 在代码后台初始化数据模型,并将其设置为Datagrid的ItemsSource:
- 在代码后台添加复选框的Checked和Unchecked事件处理程序: