2013-06-26 3 views
2

Я пытаюсь создать представление MonoGame внутри MvvmCross на Android, iOS и WP8. На стороне Windows относительно легко использовать свойства зависимостей в качестве цели привязки, но как я могу получить решение для привязки к перекрестной платформе, которое я могу использовать на всех платформах?MvvmCross - MonoGame

ответ

1

Это было покрыто в предыдущей версии MvvmCross - см Insert a Monogame view inside MvvmCross monodroid Activity

Технические детали имеют изменения немного, так как этот пост, но основная часть рекомендаций остается тем же - использование наследования для добавления привязки данных.

Например, если вы хотите, чтобы адаптировать FooActivity или FooViewController базового класса так, что он может быть использован для MvvmCross связывания данных, то вам необходимо:

  • унаследуют от FooActivity обеспечить EventSourceFooActivity - сделать это вам нужно добавить уведомления о событиях так, как показано в MvxEventSourceFragmentActivity.cs
  • наследоваться от EventSourceFooActivity обеспечить BindingFooActivity - для этого вам нужно добавить все члены, как DataContext от MvxFragmentActivity.cs

Процесс для Touch/iOS очень похож, но с конкретными событиями и членами iOS. Взгляните на любой из классов Mvx*ViewController, чтобы увидеть, что происходит.

Этот метод также обсуждается в: Integrating Google Mobile Analytics with MVVMCross

+0

Когда вы получите эту работу, я хотел бы, если результаты были разделены для сообщества - тоже очень интересно посмотреть, как MonoGame и MVVM могут быть объединены вместе:) – Stuart

+0

Мой большой вопрос в том, могу ли я использовать эту технику, чтобы добавить GameComponent способность иметь связываемые свойства .. использовать их как каждый элемент ui дня. (а также создать один единый GameComponent для всех платформ или мне нужно создать компоненты, специфичные для платформы (ios/android/wp8/win8)?) * btw atm я не вижу, как это можно с решением, которое вы описали ... но я могу ошибаться. –

+0

У меня есть MonoGame, работающая с версией Xaml с использованием Prism для Mvvm. Также Farseer для физики. Вы даже можете, чтобы спрайты MonoGame взаимодействовали с вашими элементами Xaml. – Todd