martedì 21 settembre 2010

WPF - Aggiungere una colonna ad una DataGrid

C# 4.0
Definita una DataGrid (grdValues) in una maschera WPF, si vuole aggiungere a run-time un’altra colonna con l’opportuno binding ed assegnando anche uno stile definito sempre nello XAML.
Si può procedere quindi nel seguente modo:
DataGridTextColumn dataGridTextColumnOtherInfo = new DataGridTextColumn();
                       
Binding binding = new Binding("OtherInfo");
dataGridTextColumnOtherInfo.Binding = binding;

// Vengono ridimensionate tutte le colonne.
grdValues.Columns[0].Width = 120;
grdValues.Columns[1].Width = 120;
dataGridTextColumnOtherInfo.Width = 120;

// Stile già definto nello XAML della view.
dataGridTextColumnOtherInfo.EditingElementStyle = (System.Windows.Style)Resources["CellEditStyle"];
dataGridTextColumnOtherInfo.Header =”Other info”;

grdValues.Columns.Add(dataGridTextColumnOtherInfo);