工作原理:
- 处理内存中LinkedList(字符串)的Web服务
- 客户端可以插入/添加/删除/查询LinkedList的内容
- Web服务是从命令行启动的(没有UI)
我想做什么:
- 将命令行应用程序更改为WPF应用程序
- 从WPF应用程序显示LinkedList的当前状态
- 数据绑定UI控件,以便在显示中反映任何客户端操作
速度不是一个大问题,因为WPF应用程序是只读的,信息量更大。我选择了LinkedList来支持所需的客户端功能。
我很难找到任何可以帮助的教程和/或示例。任何关于我应该如何处理这件事的建议都将是非常好的。
- 创建一个名为ObservableLinkedList的新类,并实现INotifyCollectionChanged
- 在该类中给定与LinkedList相同的方法,并在内部将所有方法转发到包含的LinkedList
- 还可以触发INotifyCollectionChanged事件,这样WPF就可以知道您的链表已经更改
让WPF知道绑定集合已更改;它必须实现INotifyCollectionChanged
或
每次更新链接列表时,只需触发collectionview即可刷新,如以下所示
CollectionViewSource.GetDefaultView(ViewModel.TheCollectionProperty).Refresh();