我正在使用xamarin表单(PCL)并使用Windows手机模拟器执行应用程序 我创建了一个主详细信息页面
<MasterDetailPage.Master>
<ContentPage Title="Menu">
<StackLayout Orientation="Vertical">
<Button Text="buttonOne"/>
<Button Text="ButtonTwo"/>
<Button Text="ButtonThree"/>
</StackLayout>
</ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<local:MasterPage />
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
详情页面是
<StackLayout>
<Label Text="Hello World"/>
<StackLayout>
<maps:Map WidthRequest="320" HeightRequest="200" />
</StackLayout>
</StackLayout>
停在
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached)
global::System.Diagnostics.Debugger.Break();
};
#endif
并返回此异常(Native View =无法评估表达式。操作不受支持。未知错误:0x80070057。)
注意:
答案 0 :(得分:2)
因此,这解决了没有专门针对地图部分的问题,但导致导航到主详细信息页面的问题,因为PushModalAsync(...)将主详细信息页放在 new 之上导航堆栈而不是将其推到当前导航堆栈的顶部,这是PushAsync(...)所做的。
这是一个Xamarin Forms论坛问题的链接,似乎有同样的问题:
https://forums.xamarin.com/discussion/21461/navigation-pushasync-not-working
显然MasterDetail页面不喜欢被导航,Android和iOS都喜欢将它作为根页面。这并不是说这是不可能做到的,我相信它必须以不同的方式完成。一些依赖注入/自定义渲染可能在这里有所帮助。
我发现这个Xamarin Forms文章在学习导航时非常有用,也可以帮助你:
https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/navigation/hierarchical/