xamarin/Xamarin.Forms

Current Application gets overridden, causes application level resources to disappear

开放

#1,418 创建于 2017年12月18日

 (6 条评论) (0 个反应) (0 位负责人)C# (1,926 个派生)batch import
a/embedding 📦e/2 :clock2:good first issuehacktoberfest 🍻help wantedp/Androidp/UWPp/iOS 🍎t/bug :bug:up-for-grabs

仓库指标

星标
 (5,644 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

Use case forms embedding, with application level staticresources:

  • Create a new XF page
  • Call CreateViewController
  • Present the VC the native way.

In this case the existing current XF application gets overridden with an empty one at https://github.com/xamarin/Xamarin.Forms/blob/4c8f901e2333ac1baae818ead61c93559f39758d/Xamarin.Forms.Platform.iOS/PageExtensions.cs#L15

Normally the RealParent would be set when assiging main page. But with embedding this is not used. The code should check wether there is a current XF application before overwriting it.

A workaround until this is fixed is setting the parent manually

var xfPage = new XfPage();
xfPage.Parent = Xamarin.Forms.Application.Current;
var naviteVC = xfPage.CreateViewController();

贡献者指南