数据绑定到链表?

发布于 2024-12-29 09:31:24 字数 433 浏览 1 评论 0原文

有效方法

  • 操作内存中的 LinkedList(字符串)的 Web 服务。
  • 客户端可以插入/添加/删除/查询LinkedList的内容。
  • Web 服务从命令行启动(无 UI)。

我想要做什么:

  • 将命令行应用程序更改为 WPF 应用程序。
  • 从 WPF 应用程序显示 LinkedList 的当前状态。
  • 数据绑定 UI 控件,以便任何客户端操作都会反映在显示中。

速度并不是一个大问题,因为 WPF 应用程序是只读的并且信息量更大。我选择了 LinkedList 来支持所需的客户端功能。

我很难找到任何可以提供帮助的教程和/或示例。关于我应该如何处理这个问题的任何建议都会很棒。

What Works:

  • Web service that manipulates an in-memory LinkedList (of strings).
  • Clients can insert/add/remove/query the contents of the LinkedList.
  • Web service is started from the command line (no UI).

What I Would Like to Do:

  • Change the command line app to a WPF app.
  • From the WPF app display the current state of the LinkedList.
  • Data bind the UI control so any client actions are reflected in the display.

Speed is not a huge issue, as the WPF app is read-only and more informational. I chose a LinkedList to support the needed client functionality.

I am having difficulty finding any tutorials and/or examples that can help. Any suggestions on how I should approach this would be great.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作妖 2025-01-05 09:31:24
  • 创建一个名为 ObservableLinkedList 的新类并实现 INotifyCollectionChanged
  • 在该类中提供与 LinkedList 相同的方法,并在内部将所有方法转发到包含的链表,
  • 同时还会触发 INotifyCollectionChanged 事件,以便 WPF 可以知道您的链表已更改。

让 WPF 知道绑定集合已更改;它必须实现 INotifyCollectionChanged

或者

每次更新链表时触发 collectionview 刷新,如下所示

CollectionViewSource.GetDefaultView(ViewModel.TheCollectionProperty).Refresh();
  • Create a new class called ObservableLinkedList and implement INotifyCollectionChanged.
  • Give same methods in that class as LinkedList and internally forward all the methods to the contained linkedlist,
  • but also fire INotifyCollectionChanged events so WPF can know that your linked list changed.

For WPF to know that a bound collection has changed; it has to implement INotifyCollectionChanged

OR

Just trigger collectionview to be refreshed everytime you update the linkedlist like the following

CollectionViewSource.GetDefaultView(ViewModel.TheCollectionProperty).Refresh();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文