|
分類:[.NET 全般]
お世話になっております。
WPFで、ObservableCollection<T>型の変数をBindingしています。 この中身を変更したいのですが、以下のようなエラーができます。 場所を指定して変更することは可能でしょうか?
Listのindexを指定して、削除(RemoveAt(index))し、削除したところに挿入(Insert(index,new構造体))することで、 なんとか実現できましたが、構造体の1つのメンバだけを変更したいので、他の案を探しています。
どうぞよろしくお願いいたします。
-- エラー 1 変数ではないため、'System.Collections.ObjectModel.Collection<Test.Controller.TestController.Data>.this[int]' の戻り値を変更できません
--------- プロパティ private ObservableCollection<Data> list = new ObservableCollection<Data>(); public ObservableCollection<Data> List{ get { return list ; } set { list = value; OnPropertyChanged("List"); } }
構造体 public struct Data { public string path; public string text;
public string Path { get { return path; } set { path = value; } } public string Text { get { return text; } set { text = value; } } }
コンストラクタ public TestController() { List.Add(new Data() { path = @"C:\work\A.bmp", text = "A"}); List.Add(new Data() { path = @"C:\work\B.bmp", text = "B"}); List.Add(new Data() { path = @"C:\work\C.bmp", text = "C"}); List.Add(new Data() { path = @"C:\work\D.bmp", text = "D"}); }
更新メソッド public void change() { List[0].Text = "change!"; ★ここでエラーになります。 }
|