您好我已成功设法使用复选框生成datagrid但我不知道如何获取复选框的状态它被选中或取消选中。我建议使用INotifyPropertyChanged。 CellEditEnding事件处理程序。请帮助我,我不知道如何实现其中任何一个。
我想要的是检查用户点击选中/取消选中的复选框的值。并且可以获取行索引以及该行的第一个单元格中的值。
到目前为止,我的代码是
namespace embeddatagridcheckbox
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
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.MyString = i.ToString();
ite.MyBool = false;
item.Add(ite);
}
dataGrid1.ItemsSource = item;
}
}
public class checkedBoxIte
{
public string MyString { get; set; }
public bool MyBool { get; set; }
}
}
XML
<DataGrid AutoGenerateColumns="False" Height="323" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="503" BeginningEdit="dataGrid1_BeginningEdit">
<DataGrid.Columns>
<DataGridTextColumn Header="MyString" Binding="{Binding MyString}" />
<DataGridCheckBoxColumn Header="MyBool" Binding="{Binding MyBool}" />
</DataGrid.Columns>
</DataGrid>
答案 0 :(得分:2)
您想从哪里引用CheckBox值?通常我会直接使用DataGrid的ItemSource对象而不是计算行/列,但这取决于你想要做什么。
在您的示例中,您会在代码隐藏中找到名为list
的列表中的复选框的状态,因为这是您的数据网格绑定的内容。
list[0]
=第一行的数据
list[0].MyBool
=第一行的复选框值