2010-04-08 75 views
1

我正在尋找一種輕鬆維護屬於特定組的用戶列表的方法。
我曾考慮過使用Picklist,其中有兩個列表框,第一個包含用戶列表,第二個列表是屬於該組的用戶列表。將會有按鈕允許添加和刪除組中的選定用戶。隨着用戶被添加,他們從左側列表框移動到右側,當他們被刪除時,他們從右側移動到列表。這是很常見的情況。WPF MVVM Picklist示例

您是否知道使用MVVM模式在WPF中執行此操作的任何示例?

我很難理解綁定如何工作到我的視圖模型和業務實體。特別是將數據保存回數據庫。我正在使用存儲過程調用來執行CRUD邏輯,所以我需要保留已刪除哪些用戶的列表,以便刪除它們。

這是執行此功能的最佳方式還是有更好的方法。我只是想從列表中選擇(列表可能很大)。

回答

1

這應該很容易實現。在您的視圖模型中,創建兩個可觀察的集合屬性,一個包含不在組中的用戶,另一個包含用戶。還爲每個集合創建選定項目屬性。將項目控件'ItemsSourceSelectedItem屬性綁定到這些屬性。然後實現從一個集合中刪除選定項目並將其添加到另一個集合的命令,並將這些命令綁定到您的按鈕。

跟蹤哪些用戶已被刪除的最簡單方法不是。當需要更新數據庫時,將視圖模型集合的內容與數據庫中的內容進行比較。如果某個對象位於「不在組」集合中,且數據庫認爲它在該組中,請將其刪除。如果一個對象在你的「in group」集合和數據庫中認爲它不是,那麼添加它。

+0

感謝你的回覆。我正確地稱這種控件爲'picklist'還是有正確的名詞? – Tim 2010-04-09 08:32:29