2016-06-01 4 views
0

Я совершенно новый в разработке с Xamarin, и я стараюсь использовать библиотеку MvvmCross в общем проекте для всех платформ. Кажется, что я успешно добавил библиотеки в каждый проект, но теперь я смущен, как начать. Я пытался следить за документацией, но, думаю, я не понял ее правильно. Я могу использовать метод CreatableTypes, но в документации нет EndingWith или других методов. Примеры, которые я нашел, в основном касаются PCL. Я даже не знаю, проблема с версией, или если я пропустил что-то важное. Любой намек или ссылка были бы полезными.MvvmCross 4.x в общем проекте

ответ

0

Прежде всего, будьте внимательны, какую информацию вы читаете, всегда проверяйте дату или тратите свое время на некоторые устаревшие статьи. Важнейшими ресурсами являются официальные образцы: https://github.com/MvvmCross/MvvmCross-Samples

Обычно вы используете PCL для всего фона, и должен быть такой класс https://github.com/MvvmCross/MvvmCross-Samples/blob/master/TipCalc/TipCalc.Core/App.cs. В этом классе вы должны быть в состоянии зарегистрировать все свои услуги, как это для IoC:

public override void Initialize() 
{ 
    CreatableTypes().EndingWith("Service").AsInterfaces().RegisterAsSingleton(); 

А потом MVVMCross автоматически заботится о его инициализации, если вы делаете инъекции конструктора в ViewModel как пример ...

public MainViewModel(IPreferenceService preferenceService) 
{ 
// Do Something here with the Service 
} 

... и вам просто нужно позвонить, чтобы показать его с ним связано представление:

ShowViewModel<MainViewModel>(); 

Так в основном пытаются понять образцы первых, я думаю, что это TipCalc STI ll главным образом до настоящего времени, по крайней мере, это MVVMCross 4.0 https://github.com/MvvmCross/MvvmCross-Samples/tree/master/TipCalc

+0

Благодарим вас за ответ. Я попытаюсь следовать образцу. Устаревшие образцы - большая проблема, чтобы найти правильные вещи. Так будет работать так же в общем проекте? Используя App.cs для регистрации и реализации настройки интерфейса в каждом проекте? Или мне нужно выбрать PCL и указать его в моем совместном проекте? – guenes

+0

Я не знаком с общими проектами, но, по крайней мере, вики говорят, что они скорее ретранслируются на PCL: https://github.com/MvvmCross/MvvmCross-Forms/wiki/Shared-Project-vs.-Portable-Class-Libraries – Cyriac

+0

Хотя то есть для Формы. Если методы доступны в общем проекте, вам необходимо придерживаться PCL. – Cyriac

 Смежные вопросы

  • Нет связанных вопросов^_^