У меня есть окно WPF с некоторыми текстовыми полями, выпадающими списками и сеткой с использованием MVVM
поля со списком и сетка привязаны к DataTable и DataViews, только значения selectedItem привязаны к модели
На данный момент используются следующие вспомогательные методы
void GetSelected()
{
if ( SelectedDataRowView != null )
obj.prop1 = (int)(SelectedDataRowView.Row["field1"]);
else
obj.prop1 = defaultValue1;
if ( SelectedDataRow1 != null )
obj.prop2 = (double)(SelectedDataRow["field2"]);
if ( SelectedDataRow2!= null )
obj.prop3 = (string)(SelectedDataRow2["field3"]);
...
}
/// and
void ToSelected()
{
if ( TryFindDataRow("field1", obj.prop1, dv1, out drv1 )
SelectedDataRowView = drv1;
else
SelectedDataRowView = null ;
...
}
Как вы можете видеть, это довольно уродливо, интересно, как его почистить !!
К вашему сведению, я не могу сейчас использовать EF и избавиться от DataTable / DataView - база данных не является сервером SQL