【问题标题】:Why UWP Flipview doesn't flip to second item?为什么 UWP Flipview 不翻转到第二项?
【发布时间】:2017-07-01 18:00:59
【问题描述】:

我有一个控件来管理 FlipView (flipView),我希望将 SelectedIndex 与 ListBox (subMenuList) 同步以在我的内容之间导航。而且由于产品所有者有很好的要求,我在 FlipView 的第一项控件中还有另一个 ListBox (shortcutList),它也绑定到 FlipView 的 SelectedIndex。

警告:列表中的某些项目被折叠以模拟 Flipview 内容的快捷方式。

这些控件完美同步在一起但是FlipView的第二项:

  • 使用鼠标:第一次点击时,我可以转到第 1 页,当我翻回shortcutList 时,我无法转到第 1 页,但我可以转到其他任何地方。然后,当我再次翻到 shortcutList 时,我可以再次转到第 1 页,依此类推!
  • 使用触摸:只要我想,我可以点击转到第 1 页,我永远不会到达我的第一页,但我可以去其他任何地方。

我提取了我项目的特定部分以重现Github 上的用例,这样每个人都可以理解我的意思。

希望有人能告诉我为什么 UWP Flipview 不翻转到第二项?并感谢您尝试帮助我找到问题。

【问题讨论】:

    标签: c# synchronization uwp-xaml issue-tracking flipview


    【解决方案1】:

    问题是该项目已经处于选中状态,因此您无法再次选择它 - 至少选择它不会做任何事情,因为没有选择更改事件,因此 SelectedIndex 绑定不会传播任何更改.为了证明这一点 - 如果您跳到第 4 页,同样的事情会发生,翻回第一页并再次单击第 4 页。

    如何解决这个问题?我认为您将不得不使用代码。这个 XAML 解决方案虽然几乎可以工作,但非常脆弱。最简单的解决方案是将FlipContent0Control 中的ListBox 替换为三个简单的按钮,并在它们的Click 处理程序中导航到相应的页面。要获得更好的方法,您应该尝试将应用更改为使用 MVVM 设计模式。

    【讨论】:

      【解决方案2】:

      我还使用Martin Zikmund 的指示对Github 进行了肮脏的修复

      如何解决这个问题?我认为您将不得不使用代码。此 XAML 解决方案虽然几乎可以工作,但非常脆弱。最简单的解决方案 将用三个替换 FlipContent0Control 中的 ListBox 简单的按钮,并在其 Click 处理程序中导航到相应的 页面。

      还有来自Jawahar的提示

      是因为你的手指还在触摸控件,所以flipview 不能动画。所以我在导航之前稍作休息。经过 用户松开手指的时间,它起作用了!!!

      在下面post.
      所以,分三步解决:

      1. 在每个 ListBoxItem 内部画布上将 FlipContent0Control 中的 SelectedIndex 替换为 Tapped 事件。
      2. 提供点击事件以提高目标索引以在 FlipView 中选择。
      3. 在事件TargetedIndexChanged的方法处理程序中添加Task.Delay(100)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-08
        • 1970-01-01
        • 1970-01-01
        • 2018-01-16
        • 1970-01-01
        • 2021-05-16
        • 1970-01-01
        • 2013-12-28
        相关资源
        最近更新 更多