您好我想在datagrid view.i中添加复选框已写入测试代码但失败了。 我想要做的是在datagrid中添加一个CheckBox,其中包含我添加到其中的项目 选择全部并选择无选项。
我不知道该怎么做,所以我需要一些帮助。我很困惑,如果我们动态添加,我们将如何跟踪选中或未选中的复选框。
我有当前的代码
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; }
}
但我知道添加像这样的复选框是最愚蠢的事情,但它只是一个尝试 上面的类包含两个属性,稍后它将有更多,但所有将是字符串
答案 0 :(得分:18)
WPF不知道如何处理您的checkedBoxIte
项目。我建议你改变你的课程如下:
public class checkedBoxIte
{
public string MyString {get;set;}
public bool MyBool { get; set; }
}
然后以这种方式设置DataGrid
的列:
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="MyString" Binding="{Binding MyString}" />
<DataGridCheckBoxColumn Header="MyBool" Binding="{Binding MyBool}" />
</DataGrid.Columns>
</DataGrid>
现在您可以设置ItemsSource
:
for (int i = 0; i < 5; i++)
{
checkedBoxIte ite = new checkedBoxIte();
ite.MyString = i.ToString();
item.Add(ite);
}
dataGrid1.ItemsSource = item;