У меня есть приложение WPF, основанное на шаблоне MVVM.У него есть дерево с левой стороны и область деталей с правой стороны.Дерево содержит объекты различных типов, и у меня есть модель представления для каждого типа.В представлении у меня есть разные шаблоны данных (содержащие пользовательский элемент управления) для каждого типа модели представления.Затем представление выбирается с помощью привязки данных на основе текущего представления сведений.
Теперь, когда я переключаюсь между узлами дерева, я также создаю новую модель представления сведений для каждого узла, и представление соответствующим образом изменяется, запуская обаСобытие DataContextChanged и событие Loaded.То есть, пока я не начну переключаться между объектами одного типа.Здесь также обновляется модель представления сведений, но экземпляр представления остается прежним.Это означает, что запускается только событие DataContextChanged, но не событие Loaded.
Существует ли способ принудительно вызвать событие Loaded, например, путем повторной инициализации представления?
Причина, по которой мне нужно событие Loaded, заключается в том, что WPF запускает события изменения выбора на элементах управления вводом во время привязки данных, и поскольку у меня есть логика, которая действует на события изменения выбора, инициируемые пользователем, мне нужно иметь возможность игнорировать те события, которые инициируются связыванием данных.На данный момент, событие Loaded, кажется, лучший вариант для этого.За исключением описанного вопроса.
Спасибо, Майкл