#android #ios #xamarin #custom-renderer
#Android #iOS #xamarin #пользовательский рендерер
Вопрос:
Так что я хочу сделать готовый рендеринг CarouselView при Android и CarouselViewFormsPlugin при iOS. Я знаю, что могу выполнить это в xaml с помощью onplatform, но не хочу делать это в нескольких местах. Можно ли это сделать с помощью пользовательского средства визуализации, подобного следующему?
Основной проект:
public class CustomCarousel{}
Android:
public class CustomCarousel:CarouselView{}
iOS
public class CustomCarousel:CarouselView.Plugin{}
Если это невозможно, у меня есть два варианта, которые я вижу:
- В xaml используйте onplatform, чтобы определить, какой элемент управления использовать.
- Создайте другое представление для iOS и Android и определите во время выполнения, какое представление отображать.
Я знаю, что могу реализовать эти два варианта, но я думаю, что, если возможно, CustomRenderer — лучшее решение здесь?
Комментарии:
1. Если вы используете пользовательский рендерер для его достижения, вы должны наследовать
CarouselPageRenderer
, поэтому его нельзя использовать какpublic class CustomCarousel:CarouselView.Plugin{}
формат.2. Да, это вывод, к которому я пришел, который не работает, поэтому в итоге просто выполнил onplatform в xaml для отображения соответствующего элемента управления
3. ОК. Просто добейтесь этого в xaml.