Я унаследовал некоторый код для довольно сложного приложения WPF, которое использует Caliburn.Micro для реализации шаблона MVVM. Он использует автоматически привязываемые представления для просмотра моделей с использованием соглашений об именах Caliburn. Модели представлений наследуются от класса, который реализует INotifyDataErrorInfo, а Fluent Validation используется для создания ошибок, связанных с конкретным полем. Это работает отлично, за исключением одного сценария, когда у меня есть пользовательский элемент управления, встроенный в несколько разных представлений, и элементы пользовательского интерфейса в этом пользовательском элементе управления должны быть проверены.
Встроенный пользовательский элемент управления имеет собственную модель представления, которая не реализует INotifyDataErrorInfo. Достаточно сказать, что сообщения проверки, которые мы генерируем при проверке родительского представления, не распространяются на пользовательский интерфейс для отображения.
Я не совсем уверен, какой код мне нужно показать здесь, чтобы проиллюстрировать проблему, поэтому вопрос на самом деле более концептуальный - вопрос таков:
В моем сценарии я должен реализовывать модель представления за встроенным пользовательским элементом управления или есть какой-либо другой способ заставить родительское представление вызывать GetErrors() в его модели представления с именами свойств элементов управления, вложенных во встроенные пользовательские элементы управления?
Надеюсь, это имеет смысл - я новичок в WPF!