获取其他单元格DataGrid WPF的值

时间:2011-03-08 18:50:16

标签: c# wpf datagrid

您好我已成功设法使用复选框生成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>

1 个答案:

答案 0 :(得分:2)

您想从哪里引用CheckBox值?通常我会直接使用DataGrid的ItemSource对象而不是计算行/列,但这取决于你想要做什么。

在您的示例中,您会在代码隐藏中找到名为list的列表中的复选框的状态,因为这是您的数据网格绑定的内容。

list[0] =第一行的数据

list[0].MyBool =第一行的复选框值