あるモデルのデータを含むクラスがあります。このクラスには、実際の値とともにメタデータがあります。
class ServerValue {
public int SomeId {get;}
public int SomeOtherId {get;}
public DateTime LastChanged {get;}
public object Value {get;set;}
// this lets me show the value, but how do i update it from the grid?
public override string ToString(){
return Value.ToString();
}
}
今では、あらゆる種類のロジックを持つ DataTable から派生したクラス MyDataTable もあります。サーバーを呼び出し、一連の ServerValues を取得し、それらを行と列に配置します。
最後に、MyDataTable にバインドする WPF DataGrid があり、データが表示されます。これは、DataGrid が各 ServerValue で ToString を呼び出し、表示用の値を取得するためです。ここまで万歳。
ここで、双方向のデータバインディングを行いたいので、グリッドへの入力は ServerValue に書き戻されます。したがって、グリッド セルを ServerValue 自体ではなく、ServerValue の Value プロパティにバインドしたいと考えています。
現在、DataGrid セルの ServerValue は文字列に置き換えられています。これを回避することはできますが、最初にエレガントなルートを試してみたいと思います。
したがって、セルに複合型のデータテーブルがあり、その型の特定のプロパティへの双方向データバインディングが必要です。
これは可能ですか?私はこれについてグーグルで調べてきましたが、これについては何もできません。
前もって感謝します、
ジョン