//假设变动的属性是“IsChanged”,
List lstDataChanged = new List();
//赋值省略
this.dataGrid.ItemsSource = lstDataChanged;
private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataChangedViewModel mvm = dataGrid.SelectedItem as DataChangedViewModel;
if (mvm.IsChanged.Equals("False"))
{
foreach (DataChangedViewModel item in dataGrid.Items)
{
if (item.Id == mvm.Id)
{
item.IsChanged= "True";
}
}
}
}
public class DataChangedViewModel
: INotifyPropertyChanged
//实体类需要实现INotifyPropertyChanged 接口
{
public event PropertyChangedEventHandler PropertyChanged;
private string isChanged;
public int RowNum { get; set; }
public long Id { get; set; }
public string No { get; set; }
public string TypeName { get; set; }
public string StatusName { get; set; }
//变动的属性
public string IsChanged
{
get
{
return isChanged;
}
set
{
isChanged= value;
NotifyPropertyChanged("isChanged");
}
}
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
原文:http://www.cnblogs.com/WSNblogs/p/4101359.html