将MVVM实现到现有项目中
问题描述:
对于WPF我还是比较新的,但是由于互联网上提供的所有资源,我已经能够创建相当体面的(imho)演示程序。在我开始编写程序之前,我研究了MVVM方法,但没有预见到我的程序会变得如此庞大。没有太多细节,我在列表框的一侧填充了属性列表。这直接绑定到我的SQL CE数据库(v4.0),这意味着我需要刷新我的列表框,随时对我的属性进行更改。 Orginally这不是一个问题,但现在我想允许通过拖放来重新排列,所以我相信我需要实现某种形式的可观察集合来完成此操作。对不起,如果我没有什么意义,但从收集的内容来看,不能直接在数据库中重新排列对象(或者不明智)。将MVVM实现到现有项目中
基本上,我的问题是如何在我的应用程序中实现可观察集合,即使用现有数据库进行持久化?只要有可能,我并不担心所涉及的工作。我可以使用部分类吗?
干杯
答
我建议要么看着卡利科技或MVVM光强。我个人使用CM。
我添加到sample WPF应用程序我有到位桶展示如何绑定一个Listbox
到BindableCollection
(CM的ObservableCollection
)。有一个刷新按钮,用于填充BindableCollection
MyProperties
。
代码没有太多,因为CM正在为您做一些工作。我建议通读docs,他们有点长,但非常值得。
在你的情况下,你将从你的sqlce数据库填充集合。我不确定房产的顺序是否重要。如果您想允许拖放以重新排序并坚持可以完成的订单。
当更改ListBox
中的某个属性时,这些更改将反映在ListBox
所绑定的集合中。您需要决定何时将这些chagnes坚持到DB。
请张贴一些代码片段,您实际上是从数据库填充列表以及绑定(如果有)? – 2012-04-03 05:49:57
这个问题的标题与被问到的问题无关。将ListBox绑定到ObservableCollection与MVVM无关。您可以轻松或者更轻松地将逻辑放在代码隐藏中。 – kevev22 2012-04-03 19:07:00