Я создаю пользовательский элемент управления Xamarin Forms, который содержит три кнопки (1,2,3) внутри представления. Давайте просто назовите это GaugeView
ради этого примера. Вот как это в настоящее время установка:Xamarin Forms Event Bubbling и вызов операций на пользовательском рендерере
GuageView
имеет пользовательский визуализатор на оба прошивке и Android под названиемGuageViewRenderer
.GuageView
раскрывает обработчики событий дляClicked1
,Clicked2
иClicked3
.GuageView
предоставляетICommand
свойствам дляClick1
,Click2
иClick3
.
Проблема заключается в том, что мне нужно убрать обработчики событий из пользовательского средства визуализации, потому что только одна команда управления платформой знает, когда была нажата одна из кнопок. Как вы можете пузырить события до GuageView
, где живет общий код?
Я планировал связать команды и обработчики событий внутри пользовательского средства визуализации, но у меня с ним связано время, так как события могут быть запущены только из исходного класса (GuageView
).
Есть ли лучший способ структурировать это? Главное, что я пытаюсь сделать, это разоблачить плагин native guage и подключить его кнопки, чтобы обработчики событий в общем коде (GuageView
) получали пиктограммы события.
Просто к сведению, я уже просмотрел Xamarin учебников по пользовательским рендерам, но не кажется, что буду что-нибудь о том, как общий код получает доступ к событиям, происходят родные, что является корнем моей проблемы. – Adam