2011-02-14 31 views
0

我是WPF的新手,我嘗試使用RelayCommand來實現演示應用程序。在執行RelayCommand之前進行UI驗證WPF

我的問題是這樣的:

,如果我要執行哪個有權詢問用戶是否自己一定要首先執行它的命令 - 什麼是做到這一點的最好方法是什麼? 我需要一個「你確定嗎?」彈出消息框。但是,該命令在視圖模型上執行,當然我不想在這裏混淆GUI。

謝謝

回答

0

我剛碰到這個自己。我使用MVVM Light,並使用Messenger完成此操作。

我讓我的ViewModel發送了一個GetConfirmationMessage,這是我在代碼隱藏中註冊的。在GetConfirmationMessage的處理程序中,我彈出對話框並獲得reuslts。如果用戶點擊OK,我發送一個ConfirmationReceived消息,由ViewModel處理以進行適當的更新。

1

我處理這個問題的方法是在您的IOC中註冊一個IDialogService界面,並可用於ViewModels。

該服務然後提供與「用戶」交互的各種方式。所以你可以有一個ConfirmMessage方法,根據接受對話的用戶返回true或false。

然後對於單元測試說,你可以有一個不同的IDialogService實現,允許你在測試時向你的ViewModel提供預定的響應。

+0

Oooh。我喜歡這個。 – Robaticus 2011-02-17 23:26:44