Совсем недавно я узнал об использовании MVVM для отделения GUI от базовой модели. Я закончил тем, что научился как можно больше конвертировать свое текущее приложение в MVVM, и был в основном успешным. Теперь мне нужно выяснить, как на самом деле взять графический интерфейс, сгенерированный в Blend, и использовать его вместо моего текущего графического интерфейса, который был разработан в Visual Studio. Я не могу найти какие-либо ресурсы в Интернете, чтобы сделать это как можно более плавным. Я хотел бы знать, что вы все сделали и имели для вас работу.
Моим окончательным решением было бы то, что позволило бы мне во время выполнения выбрать обложку из меню и немедленно изменить GUI с текущей на другую, которую выбирает пользователь. Может кто-нибудь указать мне на посты, которые объясняют, как это сделать?
Моя текущая цель менее амбициозна - я хотел бы иметь возможность добавить мой новый графический интерфейс Blend в мой проект Visual Studio, а при компиляции должен появиться новый графический интерфейс Blend. Если я хочу вернуться к старому графическому интерфейсу, мне придется перекомпилировать. Пока все в порядке.
Я добавил свой проект Blend в решение VS2008 и настроил его для запуска. Это прекрасно работает - если я запускаю приложение, вместо старого появляется новый графический интерфейс. Проблема в том, что ему нужны библиотеки DLL, которые на самом деле находятся в другой папке - папке bin \ Debug исходного загрузочного приложения. Должен ли я оставить свой исходный графический интерфейс в качестве запускаемого приложения, а затем загрузить его код другого приложения?
Кроме того, каждому из соответствующих графических интерфейсов требуется ссылка на ViewModel. В моем случае я просто создавал его в своем текущем классе GUI. Для Blend GUI я также создал его экземпляр, так как только один из GUI будет активным. Это где нужно использовать что-то вроде инфраструктуры Unity?
Извините за все возможно бессвязные вопросы, но я не совсем уверен, как мне поступить отсюда. Я чувствую, что я настолько близок к тому, чтобы доказать себе, что MVVM - это путь с точки зрения графического интерфейса пользователя (я уже продан с долей тестируемости).