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