2009-07-20 36 views
0

這是my previous question的一個後續步驟,人們指着我指向MVVM的方向。我的ViewModel應該包含一個URI還是一個字符串?

我想明白工作應該在這個框架中去的地方。我的視圖包含一個用戶輸入URI的文本框。

據我看到的,我有兩個選擇:

  1. 綁定到我的視圖模型一個Uri對象,使用轉換器和驗證檢查,如果URI是有效的,並轉換它,如果它是。 ViewModel然後以有效的UriDependencyProperty.UnsetValue結束。 (我正在使用類似this的東西作爲組合轉換器/驗證器;這是一個很好的MVVM實踐嗎?)
  2. 綁定到我的ViewModel中的string,並根據ViewModel代碼的需要進行轉換/驗證。我不完全確定代碼是什麼讓ViewModel告訴視圖URI字符串是無效的,並且顯示適當的驗證錯誤。

我想一般的問題是關於如何以及在哪裏處理MVVM框架中潛在的無效數據。這似乎沒有涵蓋在我瀏覽過的任何MVVM的基本介紹中。感謝您的幫助,讓我全神貫注於此:)。

回答

1

在我看來,你應該有你的驗證框架,驗證來自用戶的輸入,一旦它被確認爲有效,應該被轉換器綁定到ViewModel上的Uri屬性。

這一切都取決於你如何設置你的驗證,但我會建議你的驗證應該在ViewModel上設置屬性之前。

希望有幫助!

+0

謝謝!你能否詳細說明「驗證框架」的概念?現在我想我只是爲該類型的每個字段創建一個驗證器+轉換器類;有沒有一個更正式的框架,人們使用(在MVVM或其他)? – Domenic 2009-07-20 17:17:04

相關問題