36 messaggi dal 16 aprile 2008
www.pollosky.it
Ho un problema con l'edit template di una cella di una datagrid in WPF (WPF Toolkit). Il template è costruito con un ComboBox e l'ItemsSource del ComboBox è caricato a runtime.

Ho questo problema:

L'ItemsSource del ComboBox è bindato ad un ObjectDataProvider ed ho la necessità che i valori caricati nell'ObjectDataProvider siano differenti a seconda della riga della griglia che vado a selezionare.

Per venire incontro a questa mia esigenza pensavo di associare all'ObjectDataProvider un metodo in grado di aggiornare i valori a seconda di determinati valori del selecteditem della riga (passati come parametri).

Per gestire questo aggiornamento mi sono appoggiato all'evento selectionchanged della griglia. Ma accade qualcosa di strano.

Infatti, come io vado ad aggiornare l'ObjectDataProvider viene anche aggiornato il SelectedValue del ComboBox e questo provoca una modifica della rispettiva proprietà della riga appena lasciata.

Penso che ciò dipenda dal fatto che l'associazione di binding dell'edit template non viene aggiornata fintanto che io non seleziono la cella...se è così, come posso fare per evitare questo spiacevole comportamento? Al momento non mi viene in mente niente!

Non so se sono stato chiaro nello spiegare la problematica, comunque, a scanso di equivoci, ho costruito un piccolo progetto di test in cui è possibile verificare il problema.

Lo potete scaricare qui: http://pollosky.it/wp-content/uploads/2009/12/ObjectProviderTest.zip

Provate a selezionare un valore dalla seconda cella della prima riga e poi passate alla seconda riga, vedrete che il valore della cella precedente viene cancellato.

Luca
36 messaggi dal 16 aprile 2008
www.pollosky.it
Nessuno?

Luca

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC