【问题标题】:Add Map to Master detail Page returns Exception将地图添加到主详细信息页面返回异常
【发布时间】:2017-08-29 17:49:42
【问题描述】:

我正在使用 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 = Unable to evaluate the expression. Operation not supported. Unknown error: 0x80070057.)

注意:

  1. 如果我删除地图的 WidthRequest 和 HeightRequest 就可以了 但地图不会出现。
  2. 只有在导航到主服务器时才会发生此异常 详细信息页面。

【问题讨论】:

  • @nkorai 是的,包含地图的详细信息页面可以完美运行并在我将其设置为根页面时显示地图。
  • @nkorai 我发现当我将主详细信息页面本身设置为根页面时,不会发生此异常,仅当我从任何页面导航到主详细信息页面时才会发生此异常。
  • 在Master Detail页面没有Map的情况下,能否从某个页面成功导航到Master Detail页面?
  • @nkorai 是的,没有地图它导航成功,发生了另一件事我正在使用 Navigation.Pushasync() 导航到页面但是当我尝试 Navigation.Pushmodalasync() 它解决了这个问题,我有没有理由发生这种情况以及为什么 pushModalAsync() 解决了它,我希望你能向我解释一下。

标签: xaml xamarin xamarin.forms


【解决方案1】:

所以这解决了不是地图部分的问题,而是导航到主详细信息页面的问题,因为 PushModalAsync(...) 将主详细信息页面放在 new 顶部导航堆栈而不是将其推送到 current 导航堆栈的顶部,这正是 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/

【讨论】:

  • 恕我直言,这是在 Xamarin 表单被认为是“完全烘焙”之前要解决的问题的清单 - 很棒的框架,只是不时需要一点 hack-ery
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-30
  • 1970-01-01
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多