2012-04-03 147 views
0

對於WPF我還是比較新的,但是由於互聯網上提供的所有資源,我已經能夠創建相當體面的(imho)演示程序。在我開始編寫程序之前,我研究了MVVM方法,但沒有預見到我的程序會變得如此龐大。沒有太多細節,我在列表框的一側填充了屬性列表。這直接綁定到我的SQL CE數據庫(v4.0),這意味着我需要刷新我的列表框,隨時對我的屬性進行更改。 Orginally這不是一個問題,但現在我想允許通過拖放來重新排列,所以我相信我需要實現某種形式的可觀察集合來完成此操作。對不起,如果我沒有什麼意義,但從收集的內容來看,不能直接在數據庫中重新排列對象(或者不明智)。將MVVM實現到現有項目中

基本上,我的問題是如何在我的應用程序中實現可觀察集合,即使用現有數據庫進行持久化?只要有可能,我並不擔心所涉及的工作。我可以使用部分類嗎?

乾杯

+0

請張貼一些代碼片段,您實際上是從數據庫填充列表以及綁定(如果有)? – 2012-04-03 05:49:57

+0

這個問題的標題與被問到的問題無關。將ListBox綁定到ObservableCollection與MVVM無關。您可以輕鬆或者更輕鬆地將邏輯放在代碼隱藏中。 – kevev22 2012-04-03 19:07:00

回答

1

我建議要麼看着卡利科技或MVVM光強。我個人使用CM。

我添加到sample WPF應用程序我有到位桶展示如何綁定一個ListboxBindableCollection(CM的ObservableCollection)。有一個刷新按鈕,用於填充BindableCollectionMyProperties

代碼沒有太多,因爲CM正在爲您做一些工作。我建議通讀docs,他們有點長,但非常值得。

在你的情況下,你將從你的sqlce數據庫填充集合。我不確定房產的順序是否重要。如果您想允許拖放以重新排序並堅持可以完成的訂單。

當更改ListBox中的某個屬性時,這些更改將反映在ListBox所綁定的集合中。您需要決定何時將這些chagnes堅持到DB。