Я построил библиотеку классов, которая выступает в качестве GUI-структуры, которая может быть унаследована другими проектами. Это приложение основано на проектах Wild и Gemini.MVVM Приложение не восстанавливает состояние правильно
Моя проблема заключается в том, что при восстановлении макета Avalon док-станции с использованием стандартного сериалайзер
var layoutSerializer = new XmlLayoutSerializer(manager);
manager
где имеет тип DockingManager
. Менеджер восстанавливает и пустую вкладку. Я предполагаю, что Caliburn Micro не может найти сохраненный ViewModel (названный HomeViewModel
). Тем не менее, я изо всех сил пытаюсь это подтвердить.
Я считаю, что мой загрузчик правилен и что контейнеры MEF устанавливаются правильно, чтобы разрешить внешние типы. Я отлаживал проект до такой степени, что, по-моему, эта проблема возникает, и в окне вывода я вижу Attach(Home)
, где происходит прикрепление (обратите внимание, «Главная» - это отображаемое имя HomeViewModel
). Тем не менее, я не знаю, что не так с процессом присоединения, поскольку это обрабатывается MEF/Caliburn.
Я действительно застрял отладки ли это интересно, если
- Любой может предложить любые проницательные советы о том, как приступить к процессу отладки?
- Кто-нибудь был бы готов взглянуть на решение?
Я провел много времени, отлаживая это без везения, и проблема достаточно эзотерична и призрачна, чтобы сделать большинство сообщений здесь несущественными для меня.
Спасибо за ваше время.
будет оценен рабочий образец, который может воспроизвести проблему. – pushpraj
Привет, @pushpraj, большое спасибо за ваш ответ. Этот меня убивает! Вот ссылка на часть GUI проекта http://1drv.ms/1A4v40R. Это не самый маленький, так как у меня есть папка с пакетами. Если бы вы могли мне помочь, я бы желал предоставить вам репутацию. Кроме того, как только вы скачали это, не могли бы вы сообщить мне, чтобы я мог его заблокировать. Большое спасибо ... – MoonKnight
Если вы создадите проект и запустите его, вы увидите, что откроется вкладка «Главная». Теперь по умолчанию все объекты 'Documents' или, точнее, объекты LayoutItemBase' имеют свойство' ShouldReopenOnStartup', равное false. Но если вы закрываете приложение, открыв вкладку «Главная», создается «ApplicationState.bin», и вы увидите, что «HomeViewModel» будет записан в открытые документы. Теперь, когда программа начинает резервное копирование, эти элементы не должны восстанавливаться, но это так. Мои мысли здесь в том, что тип не найден MED/CaliburnMicro ... – MoonKnight