DataGrid e Binding OneWay

Come detto nel post precedente sto cominciando, finalmente, a provare WPF, con un progettino semplice semplice. Quale posto migliore del blog per prendere appunti?

Cominciamo dalla Datagrid del WPF Control Toolkit. Ho la necessità di visualizzare una lista di Entity all'iterno della DataGrid. Alcune proprietà di queste Entity sono in sola lettura; ho pensato quini di impostare il Binding sulla colonna come 'OneWay':

<my:DataGridTextColumn Binding="{Binding Path=GrossTotal, Mode=OneWay}" Header="Totale" />

Questo non è sufficiente; anzi genera pure una eccezione in fase di bind. Il motivo è che la DataGrid imposta di default il Binding Mode a 'TwoWay' e lo fa sempre, anche se lo impostiamo esplicitamente ad un valore differente, come OneWay nel nostro caso. Il problema si risolve facilmente impostando la colonna come IsReadOnly:

<my:DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=GrossTotal}" Header="Totale" />

 

Matteo

 

Print | posted @ giovedì 15 gennaio 2009 17:33

Comments have been closed on this topic.