如何在Datagrid WPF中添加复选框c#

Afn*_*hir 8 c# wpf checkbox datagrid

您好我想在datagrid view.i中添加复选框已写入测试代码但失败.我想要做的是在datagrid中添加一个CheckBox,其中我添加的项目是select all并选择none选项.

我不知道怎么做,所以我需要一些帮助.我很困惑,如果我们动态添加,我们将如何跟踪选中或未选中的复选框.

我有当前的代码

    public partial class MainWindow : Window
    {
        List<checkedBoxIte> item = new List<checkedBoxIte>();
        public MainWindow()
        {
            InitializeComponent();
            for (int i = 0; i < 5; i++)
            {
                checkedBoxIte ite = new checkedBoxIte();
                ite.sr = i.ToString();
                ite.ch = new CheckBox();
                item.Add(ite);
            }
            dataGrid1.ItemsSource = item
        }
    }
    public class checkedBoxIte
    {
       public string sr {get;set;}
       public CheckBox ch { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

但我知道添加像这样的复选框是最愚蠢的事情,但它只是一个尝试上面的类包含两个属性,稍后它会有更多,但所有将是字符串

as-*_*cii 19

WPF不知道如何处理您的checkedBoxIte项目.我建议你改变你的课程如下:

public class checkedBoxIte
{
   public string MyString {get;set;}
   public bool MyBool { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后以DataGrid这种方式设置您的列:

<DataGrid AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="MyString" Binding="{Binding MyString}" />
        <DataGridCheckBoxColumn Header="MyBool" Binding="{Binding MyBool}" />
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

现在你可以设置ItemsSource:

for (int i = 0; i < 5; i++)
{
    checkedBoxIte ite = new checkedBoxIte();
    ite.MyString = i.ToString();
    item.Add(ite);
}
dataGrid1.ItemsSource = item;
Run Code Online (Sandbox Code Playgroud)