我将 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)将在彼此之上呈现。因此,我必须首先将 Content 设置为 null 以使本机页面可见。
这背后有什么原因还是我理解错了?上述类似代码在 Xamarin.Android 项目中运行良好。