Различное поведение SetNativeControl в PageRenderer
Я использовал PageRenderer для родного UWP (универсальной платформы Windows), но он вел себя странно, чего я не ожидал. Я использовал следующий класс для рендеринга родной страницы MyUWP
загрузить вместо страницы Xamarin.Forms
class MyUWPRenderer : PageRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
if (e.OldElement != null || Element == null)
{
return;
}
try
{
// **** Element.Content = null;
SetNativeControl(new MyUWP());
}
catch (Exception ex)
{
}
}
}
Если я не использую Element.Content = null;
в приведенном выше коде обе страницы (Native и Xamarin.Forms) будут отображаться поверх друг друга. Итак, я должен был сначала установить для содержимого значение null, чтобы сделать нативную страницу видимой.
Есть ли какая-то причина или я неправильно понимаю? Вышеупомянутый подобный код работает в проекте Xamarin.Android очень хорошо.