c# - WPF 数据绑定(bind) : database or objects?

标签 c# wpf database data-binding object

我正在尝试创建这个:

Tag1 具有对象的有序列表:O1、O3、O2。 Tag2 具有对象的有序列表:O1、O4。

每次单击标签时,我都想查看对象列表。所以点击 Tag1 将显示在列表框中:

  • O1
  • O3
  • 氧气

但我想保持自动更新,这样每次我编辑或添加/删除对象时它都会自动更新(我想我需要实现类似接口(interface)INotifyCollectionChangedINotifyPropertyChanged?)。

我可以使用数据库并拥有表 Tag、Object 和 TagObject,最后一个具有 TagID 和 ObjectID。但我也想避免使用数据库,因为它是一个桌面应用程序。

我也可以使用像 ObservableCollections 这样的对象,但是我有重复对象的问题。我可以使用对对象的引用,但它会变得困惑。

有人对如何做到这一点有任何建议吗?

谢谢。

最佳答案

一种选择是创建一个包含数据集(System.Data 命名空间)的对象。在数据集中,它将有 3 个表,这些表将使用定义的外键链接,就像在数据库中一样。如果需要,这些可以在以后存储为 XML。

然后您的对象必须公开一个数据 View ,该数据 View 也可以设置为数据上下文并进行绑定(bind)。

在代码中编辑数据集然后更新屏幕,编辑屏幕将更新数据集。

关于c# - WPF 数据绑定(bind) : database or objects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476020/

相关文章:

c# - WPF:获取堆栈面板中触摸的项目索引

WPF Canvas - 单像素网格

c# - 如何将 PropertyValueCollection 转换为列表 C#? (ResultPropertyCollection 和 SearchResult)

c# - 我可以重复使用 Tridion 附带的 SOLR 实例吗?

c# - ASP.NET/IIS : Log out all users

c# - 在 StackPanel 中设置项目间距的简单方法是什么?

sql - 我应该暂时禁用外键约束吗?如何?

mysql - 这是解决sql中最低性能问题的好方法

php - 检测两个用户是否使用同一页面php

javascript - Angular HttpClient post 无法发送简单的字符串参数