一个东西 :
public class MyTestObject
{
public class TestObject
{
public string first { get; set; }
public string second { get; set; }
}
}
我有。我List<MyTestObject.TestObject>
需要List
按照原理分两列显示这个对象
first1|second1
------|-------
first2|second2
------|-------
first3|second3
做这个的最好方式是什么?纸张的长度各不相同,没有确切的值。
我大致了解您如何使用拐杖做到这一点,但是
问题是,当我在此更改数据时,List
它们会立即在程序窗口中更改。这里面的对象数量List
不会改变。
如果你使用MVVM模式,那么它就是这样完成的。
PropertyChanged
来自接口的事件用于通知表格有关单元格的更改INotifyPropertyChanged
。表格行将如下所示:
数据项.cs
接下来,我创建
MainViewModel
一个类来充当我们窗口的数据上下文。这将使我们能够轻松简单地使用绑定。MainViewModel
还实现INotifyPropertyChanged
了,以便DataGrid
她可以自己找出我是否切换GridItems
到另一个系列。ObservableCollection
这实际上是一样的List
,只是在这个集合中触发了事件CollectionChanged
,在它的帮助下,表格了解元素是否已从集合中添加或删除。主视图模型.cs
现在最重要的是如何与界面交朋友。
Window.DataContext
我们的班级MainViewModel
DataGrid
到收藏GridItems
First
和Second
主窗口.xaml
最后:
INotifyPropertyChanged
在命名空间中System.ComponentModel
ObservableCollection
- 在System.Collections.ObjectModel
这种实现方式的另一个好处是,在界面中输入的数据将立即落入数据
GridItems
中,无需直接访问即可在代码中使用DataGrid
。