我仍然是WPF的新手,但是由于互联网上的所有可用资源,我已经能够创建一个相当不错的(imho)演示程序。在我开始编写程序之前,我查看了MVVM方法,但没有预见到我的程序会变得像它一样大。在没有详细说明的情况下,我在一侧有一个列表框,其中填充了一系列属性。这直接绑定到我的SQL CE数据库(v4.0),这意味着我需要在对我的属性进行更改时刷新列表框。原则上这不是问题,但现在我想通过拖放进行重新安排,所以我相信我需要实现某种形式的可观察集合才能做到这一点。对不起,如果我没有多大意义,但从我收集的内容中你可以直接在数据库中重新排列对象(或者它是不明智的)。
基本上,我的问题是如何在我的应用程序中实现一个可观察的集合,即使用我现有的数据库进行持久化?只要有可能,我并不担心所涉及的工作。我可以使用部分课吗?
干杯
答案 0 :(得分:1)
我建议你看看Caliburn Micro或Mvvm-Light。我个人使用CM。
我添加到我在bitbucket上的sample WPF应用程序,显示如何将Listbox
绑定到BindableCollection
(CM的ObservableCollection
)。有一个刷新按钮,用于填充BindableCollection
MyProperties
。
由于CM正在为您做一些工作,因此代码并不多。我建议阅读docs,它们有点长但值得。
在您的情况下,您将从sqlce db填充集合。我不确定这些属性的顺序是否重要。如果您想允许拖放重新排序并保持可以执行的顺序。
当对ListBox
中的属性进行更改时,这些更改将反映在ListBox
绑定的集合中。您需要决定何时将这些chagnes持久保存到数据库中。