WPF工具包 - Datagrid - 带DynamicResource的ComboboxColumn绑定

时间:2009-07-22 18:07:33

标签: c# wpf datagrid wpftoolkit

我正在实施WPF DataGrid(WPF的新手)。我按照教程展示了如何使用staticresources绑定ComboBoxColumn。但是,直到运行时才能知道数据网格中几列的数据绑定。

因此,我无法将它们与staticresource绑定。有没有其他方法可以在ComboBoxColumn中对DataGrid进行数据绑定?在ASP.NET中,我知道我们有rowdatabound代码,我们可以在这里执行此操作并动态创建列的内容。但是,在WPF中,看起来一切都是通过资源完成的。

如何使用DataGrid中的动态资源进行数据绑定?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以动态设置绑定。 像这样的东西(这段代码创建网格视图列并分配动态绑定)

       private void AddColumn(GridView view, Field fld)
        {
            GridViewColumn col = new GridViewColumn();
            col.Header = fld.Label;
            Binding bnd = new Binding();
            switch (fld.FieldType)
            {
                case FieldType.DateTime:
                bnd.Converter = new DateTimeToDateStringConverter();
                break;
// or some other converters
            }
            bnd.Path = new PropertyPath(string.Format("Fields[{0}]",
    _table._fields.IndexOf(fld)));  // the string matches what you would use in XAML
            col.DisplayMemberBinding = bnd;
            view.Columns.Add(col);
        }