Должен ли мой ViewModel содержать URI или строку? - PullRequest
0 голосов
/ 20 июля 2009

Это что-то вроде продолжения моего предыдущего вопроса , где люди указывали мне в сторону MVVM.

Я пытаюсь точно понять, где работа должна идти в этих рамках. Мое представление содержит текстовое поле, в которое пользователь должен ввести URI.

Насколько я вижу, у меня есть два варианта:

  1. Привязка к объекту Uri в моей ViewModel, используя конвертер и валидатор, чтобы проверить, является ли URI действительным, и преобразовать его, если он есть. Затем ViewModel в итоге получает либо действительный Uri, либо DependencyProperty.UnsetValue. (Я использую что-то вроде this в качестве комбинированного конвертера / валидатора; это хорошие практики MVVM?)
  2. Привязать к string в моей ViewModel и выполнить преобразование / проверку по мере необходимости для кода ViewModel. Я не совсем уверен, что код для того, чтобы ViewModel сообщал представлению, что строка URI недопустима, и отображал соответствующие ошибки проверки.

Я предполагаю, что обычно вопрос заключается в том, как и где обрабатывать потенциально недействительные данные в среде MVVM. Это, кажется, не рассматривается ни в одном из основных введений в MVVM, которые я просматривал. Спасибо за вашу помощь в понимании этого вопроса:).

1 Ответ

1 голос
/ 20 июля 2009

По моему мнению, у вас должна быть ваша структура проверки, проверяющая ввод от пользователя, как только он будет подтвержден как действительный, он должен быть привязан преобразователем к свойству Uri в ViewModel.

Все зависит от того, как вы настроили свою проверку, но я бы посоветовал, чтобы ваша проверка прошла до установки свойств в ViewModel.

Надеюсь, это поможет!

...