我正在使用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项目中很有效。