WPF数据网格编辑行无效

时间:2011-05-15 08:43:01

标签: wpf datagrid

我想在点击按钮时在我的WPF DataGrid中设置一个单元格。

我像这样填写WPF DataGrid

myDataGrid.ItemsSource = GetMyList();

DataGrid设置为autoGenerateColumns。我使用mySql选择获取我的列表。

我列表中的对象实现了INotifyPropertyChanged接口。

在我的按钮上单击我这样做:

MyObject o = (MyObject)myDataGrid.SelectedItem;
o.Checkin = DateTime.Now; //set date on button click is what i want

已设置数据,但DataGrid未更新其视图。为什么呢?

编辑: 我实现了INotifyPropertyChanged接口,如下所示:

private void NotifyPropertyChanged(String info)   {
    if (PropertyChanged != null)    {
        PropertyChanged(this, new PropertyChangedEventArgs(info));
    }
}

public DateTime Checkin    {
    get {return this.checkin;}       
    set  {
            this.checkin= value;
            NotifyPropertyChanged("Checkin");
        }
    }
}

2 个答案:

答案 0 :(得分:1)

这就是诀窍:

   myDataGrid.Items.Refresh();

答案 1 :(得分:0)

如果您不使用autogeneratecolumns并将columnsdefinition中的绑定显式设置为TwoWay会发生什么?

  <DataGridTextColumn Header="Checkin " >
            <DataGridTextColumn.Binding>
                <Binding Path="Checkin " Mode="TwoWay">
                </Binding>
            </DataGridTextColumn.Binding>
    </DataGridTextColumn>