我正在使用工具包:来自CodePlex的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);
答案 0 :(得分:20)
未经测试,但以下情况应该有效:
dgtc.Binding = new Binding("FirstName");
答案 1 :(得分:6)
关于新绑定的第一个答案对我来说也是正确的。使用该答案的主要问题是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");
答案 2 :(得分:2)
示例:
DataGridTextColumn dataColumn = new DataGridTextColumn();
dataColumn.Header = "HeaderName";
dataColumn.Binding = new Binding("HeaderBind");
dataGrid.Columns.Add(dataColumn);