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