簡體   English   中英

如何在代碼中設置DataGridTextColumn的綁定?

[英]How can I set the binding of a DataGridTextColumn in code?

我正在使用Codekit中的工具包:DataGrid。

我在代碼中生成列。

如何在代碼中設置等效的{Binding FirstName}

或者,我怎樣才能設置值 ,這就是我需要做的全部,不一定是綁定它。 我只想在datagrid的單元格中獲取我的model屬性的值。

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

未經測試,但以下應該有效:

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

關於新綁定的第一個答案對我來說也是正確的。 使用該答案的主要問題是Binding屬於四個名稱空間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");

例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM