Вставка представлений в Xamarin.Forms

Есть ли способ внедрить специфичные для платформы представления на общие страницы? Скажем, у меня есть TabbedPage в моем общем проекте, и я хотел бы внедрить в него страницу/представление, использующее специфичные для платформы функции 2D-рисования, как это лучше всего решить?


person Runeborg    schedule 05.08.2014    source источник
comment
проверьте мой ответ другому пользователю, не уверен, что это то, о чем вы просите: stackoverflow.com/questions/25075125/   -  person Sten Petrov    schedule 06.08.2014


Ответы (1)


На ContentPage вы можете добавить свой собственный настраиваемый элемент управления представлением, к которому затем можно добавить Пользовательские средства визуализации — по одному для каждой платформы из этого общего представления.

Это происходит в классах Custom Renderers, где вы можете получить доступ ко всем родным API, таким как переопределение OnDraw (canvas canvas), и выполнять собственный 2D-рисунок на Android и т. д.

Когда вы упоминаете Page/View, я предполагаю, что вы действительно имеете в виду View, поскольку я не верю, что возможно отобразить ContentPage в существующей ContentPage.

person Pete    schedule 05.08.2014
comment
Теперь можно добавлять собственные представления непосредственно в элементы управления макетом xamarin.forms. В случае общих проектов это может быть #ifdef-ed, для PCL требуется какая-то служба зависимостей. Должно быть немного проще, чем поддерживать пользовательские средства визуализации в большинстве случаев, когда вам просто нужно встроить один собственный элемент управления как есть. - person irreal; 08.06.2016