2009-05-27 53 views
8

我正在使用工具包:CodePlex中的DataGrid。如何在代碼中設置DataGridTextColumn的綁定?

我在代碼中生成列。

如何在代碼中設置相當於{Binding FirstName}

或者,我怎樣才能設置值,這就是我需要做的,不一定綁定它。我只想從我的模型屬性中的數據網格單元格中的值。

DataGridTextColumn dgtc = new DataGridTextColumn(); 
dgtc.Header = smartFormField.Label; 
dgtc.Binding = BindingBase.Path = "FirstName"; //PSEUDO-CODE 
dgtc.CellValue= "Jim"; //PSEUDO-CODE 
CodePlexDataGrid.Columns.Add(dgtc); 

回答

18

未經檢驗的,但下面應該工作:

dgtc.Binding = new Binding("FirstName"); 
2

例子:

DataGridTextColumn dataColumn = new DataGridTextColumn(); 
dataColumn.Header = "HeaderName"; 
dataColumn.Binding = new Binding("HeaderBind"); 
dataGrid.Columns.Add(dataColumn); 
5

關於新綁定對我來說是正確的第一個答案了。 。使用該回答的主要問題是,綁定屬於四個命名空間8-(正確的命名空間是System.Windows.Data(.NET 4,VS2010)這將導致一個更完整的答案:

dgtc.Binding = new System.Windows.Data.Binding("FirstName"); 

一個附註:

在我的情況下,設置綁定的上下文是對DataGrid的列進行迭代。在可以更改綁定之前,需要將基類DataGridColumn轉換爲DataGridTextColumn。可能改變綁定:

int pos = 0; 
var dgtc = dataGrid.Columns[pos] as DataGridTextColumn; 
dgtc.Binding = new System.Windows.Data.Binding("FirstName"); 
相關問題