J'ai une fenêtre WPF avec quelques zones de texte, comboboxes et une grille en utilisant MVVM les comboboxes et la grille sont liés à DataTable et DataViews, seules les valeurs de selectedItem sont liées au modèleMVVM liant dataTable & DataView
Comme maintenant, en utilisant des méthodes d'aide comme suit
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 ;
...
}
comme vous pouvez le voir, son assez laid, se demandant comment le nettoyer !!
Pour votre information peut, t utiliser EF & se débarrasser de DataTable/DataView pour l'instant - le db est serveur non sql
Avez-vous regardé 'BindingListCollectionView'? http://msdn.microsoft.com/en-us/library/system.windows.data.bindinglistcollectionview.aspx –
ne ressemble pas MVVM .. –
@jberger c'est la partie non-MVVM :) – Kumar