WPF Toolkit - Datagrid - Привязка столбцов Combobox с DynamicResource

Я реализую WPF DataGrid (очень новичок в WPF). Я следил за руководствами, в которых показано, как привязать ComboBoxColumn с помощью staticresources. Однако привязка данных для нескольких столбцов в моей сетке данных не будет известна до времени выполнения.

Из-за этого я не могу привязать их к staticresource. Есть ли другой способ привязать данные ComboBoxColumn к DataGrid? Я знаю, что в ASP.NET у нас есть код с привязкой к строкам, в котором мы могли бы это сделать и динамически создавать содержимое столбцов. Но в WPF похоже, что все делается через ресурсы.

Как можно привязать данные с помощью динамических ресурсов в DataGrid?

Спасибо!


person Community    schedule 22.07.2009    source источник


Ответы (1)


Вы можете настраивать привязки динамически. Что-то вроде этого (этот код создает столбцы представления сетки и назначает динамические привязки)

       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);
        }
person Sergey Aldoukhov    schedule 22.07.2009