【问题标题】:UWP TeacHingTips and Navigation IssuesUWP 教学提示和导航问题
【发布时间】:2020-11-30 21:01:44
【问题描述】:

我在尝试在 UWP 应用(1903 及更高版本)中实现教学提示时遇到问题。应用程序基于 NavigationView。教学提示位于视图中。当我第一次导航到视图时,一切都像魅力一样工作:TheachingTip 按预期显示。 但是,一旦我在另一个视图中导航,然后返回到嵌入 TeachinTip 的视图,就会引发 win32 未处理的异常。

正如您在上面看到的,每次我进入/退出包含 TeachingTip 的视图时,我确保未按照以下 xamlBrewer post 中的建议打开 TeachingTip。不幸的是,它没有效果。

我尝试调试混合代码,但只有一个关于 TeachingTip CornerRadius 无限期发生的错误。

我认为这是一个布局问题,例如 TeachingTip 未附加到 visualTree。

任何帮助将不胜感激。

雷吉斯

【问题讨论】:

  • 您好,您能否提供一个最小可运行演示,以便我们查看您的 XAML 布局并重现您的问题。
  • 我 Richard,您可以在以下链接中找到可复制的代码:github.com/microsoft/microsoft-ui-xaml/issues/2295
  • 您好,很高兴您找到了解决方案,您可以标记它,它将帮助更多有相同问题的人。另外我在Github看到你的问题已经进入处理流程了。如果这是控件的设计缺陷,开发团队会回答您的问题。

标签: c# uwp uwp-xaml


【解决方案1】:

经过Github Pagemicrosoft/microsoft-ui-xaml的一些调查,似乎IsOpen属性绑定到静态数据源时,如果返回并打开TeachingTip,导航到页面后应用程序崩溃。

为了解决这个问题,我实现了点击事件,而不是触发命令。在 Click Button 事件中,我手动更改 IsOpen 属性值并执行 ViewModelCommand

private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
{
    Offer_TeachingTip.IsOpen = true;
    var menuItem = sender as MenuFlyoutItem;
    if (menuItem.Command.CanExecute(menuItem.CommandParameter))
    {
        menuItem.Command.Execute(menuItem.CommandParameter);
    }
}

不是一个理想的解决方案,但它解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    相关资源
    最近更新 更多