我正在搜索如何以 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/