WPF MvvM DataGrid 变量 Columns 通过列的 IList

标签 wpf mvvm datagrid

我正在搜索如何以 MVVM 方式从 Ilist 在 DataGrid 中创建可变数量的列。我正在处理的要求非常大,行数和列数也不知道但我没有找到满意的答案

有没有人必须做同样的事情?

如果无法生成这样的列,我知道我可以通过将 DataGrid 绑定(bind)到 DataSet 来做到这一点。然后我还有一个问题;如果我使用 DataSet,如何根据某些参数在不同的单元格中显示不同的 UI?

请帮助其非常紧急的要求!!!!!!!!!!

最佳答案

好的,我自己没有尝试过,但我认为您应该能够通过创建一个动态对象并绑定(bind)到 MyDynamicObject 列表来实现这一点。 WPF 支持绑定(bind)到动态对象 (MSDN)。
理论上它可以像这样工作:

public List<dynamic> MyDynamicList {get; set;}

dynamic obj = new MyDynamicObject();
obj.DisplayCode = "Test";
obj.SomeProperty = "hello world";
MyDynamicList.Add(obj);

您需要通过实现 IDynamicMetaObjectProvider 创建 MyDynamicObject和 DynamicMetaObject .更多信息 here .

希望这会让你朝着正确的方向前进......

关于WPF MvvM DataGrid 变量 Columns 通过列的 IList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3854201/

相关文章:

c# - 如何在 TabControl 模板中使用自定义 TabItem?

wpf - 引发 WPF MouseLeftButtonDownEvent 事件

wpf - 在 map 上放置符号集合的正确MVVM方法是什么?

c# - 绑定(bind)数据网格后,项目集合必须为空

c# - 在 XAML 中设置样式

silverlight - Caliburn Micro 中保护方法的强制重新评估

c# - 带有 Mvvm Light 处理鼠标和触摸的 WPF

wpf - 将项目添加到 DataGrid (MVVM)

WPF - 在具有自定义复选框样式的 DataGrid 中无法使用 IsReadOnly

wpf - Visual Studio 2015(更新 2)中的 XAML 编辑和继续似乎不起作用