![](/img/trans.png)
[英]How can I dynamically change the converter on DataGridTextColumn binding in WPF?
[英]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.