Personally, I would start by creating a class that represents entries and implements INotifyPropertyChanged in this class.
public class recordObject : INotifyPropertyChanged
{
private int a;
public int A
{
get
{
return a;
}
set
{
a = value;
OnPropertyChanged("A");
}
}
private int b;
public int B
{
get
{
return b;
}
set
{
b = value;
OnPropertyChanged("B");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
datagrid, PropertyChanged . , . Ick, , .
, , :
void recordObject_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
var objectList = DataGrid.ItemsSource as List<recordObject>;
var myRecord = sender as recordObject;
if (objectList != null && myRecord != null)
{
int idx = objectList.IndexOf(myRecord);
}
}
, . A, B. , e.PropertyName( ) -. , , - , recordObject. , (, ). :
public static void recordObject_PropertyChanged(object sender, PropertyChangedEventArgs e)
:
record.PropertyChanged += new PropertyChangedEventHandler(recordObject.recordObject_PropertyChanged);