Binding

There are 3 entries for the tag Binding

WPF DataGrid e aggiunta di righe ad ItemSource

Un piccolo tip per mostrare una riga di aggiunta elemento nella DataGrid del WPF Control Toolkit. Ho una DataGrid il cui ItemSource è bindato ad una proprietà di tipo ObservableCollection<MioTipo>; inoltre la proprietà CanUserAddRows è impostata a True. Qualcosa di questo tipo insomma: <ToolKit:DataGrid AutoGenerateColumns="False" CanUserAddRows="True" CanUserSortColumns="True" Margin="5,5,5,5" Name="Items" ItemsSource="{Binding Path=OrderItems}"> <ToolKit:DataGrid.Columns> ... </ToolKit:DataGrid.Columns> </ToolKit:DataGrid> Ebbene la...

WPF Binding

La prima cosa del Binding di WPF che mi ha piacevolmente colpito è la possibilità di gestire le 'dipendenze' tra due controlli: ovvero di poter rendere il contenuto di un controllo dipendente dallo stato di un altro controllo. Faccio un piccolo esempio. Supponiamo di volere creare una lista di elementi al quale abbiamo associato una nota, che vogliamo visualizzare all'interno di una TextBox. Per fare ciò basta poco codice Xaml: <DataGrid Name="ElementsList"...> ... </DataGrid> <TextBox Name="txtNote" Text="{Binding Path=SelectedItem.Value, ElementName=ElementsList}" /> In questo modo non dobbiamo preoccuparci di gestire eventi particolari per popolare la nostra TextBox. Ogni volta che selezioniamo...

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'...