Различное поведение 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 очень хорошо.

0 ответов

Другие вопросы по тегам