ObserveableCollection(MyClass)source1にバインドされたDatagridを持っています。ObserveableCollectionのプロパティが変更されたときにSilverlightでDataGridを更新する方法
MyClassのは、2つのプロパティがあります。文字列名、int型のAGE
今私がコレクションに50のMyClassのオブジェを持って、私は私のDataGrid内の50行を持っていることを意味します。 すべての行を表示したい場合、私はスクロールする必要があり、それは大丈夫です!
private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e){
int index = dataGrid.SelectedIndex;
obsCollection[index].Name="AAAAA";
}
私は行をクリックするたびに、その行の名前を文字列Name = "AAAAAA"に変更します。
私が上下にスクロールして、その行がもうデータグリッドに表示されない場合、すべてのことが機能します。何とか行が見えなくなり、後で表示されると、行は更新されます。私は周りにスクロールし、その行に戻って、行が今すぐ再度datagridでSHOWN、値はupdatetされています。
しかし、私は瞬時に変化したい!行を選択/クリックすると、名前が「AAAAAA」に変更されます。 私は更新を得るために、その行を目に見えないようにしたくありません。
編集:私はdatagrid.itemsssource = nullを使用できません。私は選択の無限ループを得るから
あなたのアイテム(MyClass)はINotifyPropertyChangedを実装していますか?これは、UIがアイテム自体の変更を確認するための要件です。 –