【问题标题】:(UWP) When SplitView pane is open, interaction with the rest of UI is not allowed(UWP) 当 SplitView 窗格打开时,不允许与 UI 的其余部分交互
【发布时间】:2017-05-15 21:58:40
【问题描述】:

Groove 音乐应用就是我所需要的完美示例。当 SplitView 窗格打开时(在覆盖模式下),您仍然可以与 UI 的其余部分进行交互(单击其他按钮等,即使您将鼠标悬停在窗格外部的控件上,它们也是正常突出显示)。

在我的应用程序中,在窗格区域之外(除了窗口右上方区域的 3 个系统按钮)之外,没有什么是可点击的。但是,一旦您在窗格区域之外单击,它就会关闭。只有在那个时候,您才能再次像往常一样与 UI 交互。

我搜索了 SplitView 的属性列表,看看我是否遗漏了什么,但仍然没有弄清楚我在这里做错了什么。任何帮助将不胜感激。 :]

【问题讨论】:

  • 无法重现您所说的在 Groove 音乐应用程序中发生的事情。在覆盖模式下,它按设计运行,只有面板可以访问。单击面板外部的任何位置将按设计将其关闭。查看面板的可用状态。
  • 当然在面板外“点击”会关闭它。问题是当窗格打开时,UI 的其余部分在我的应用程序中“冻结”(可以这么说)。
  • 在 Groove 中,如果您将鼠标悬停在其他图标(播放按钮等)上,它们将照常突出显示。背景中没有任何东西被冻结。我需要 UI 的其余部分处于确切的 UNFROZEN 状态。这里的大问题是,如果我单击窗格外的图标,什么都不会发生。即使窗格打开,用户也应该能够与 UI 的其余部分进行交互。他们不必先关闭窗格(这需要单击),然后才能单击另一个选项卡或其他东西......明白我吗?
  • 它没有被冻结。它位于不允许您与之交互的触摸目标下。当面板以覆盖模式打开时,面板之外的任何内容都不会对鼠标做出反应。
  • 有什么需要解决的?看起来这一切都是设计使然。

标签: c# wpf xaml uwp


【解决方案1】:

您所描述的行为是设计使然。如果SplitViewDisplayMode 属性设置为SplitViewDisplayMode.OverlaySplitViewDisplayMode.CompactOverlay,并且当SplitView 打开时,UI 的其余部分将无法访问。要让它一直打开并让用户与 UI 的其余部分进行交互,您必须使用 SplitViewDisplayMode.InlineSplitViewDisplayMode.CompactInline

有关详细信息,请参阅Split​View​Display​Mode enumeration

【讨论】:

    猜你喜欢
    • 2016-09-02
    • 1970-01-01
    • 2020-11-04
    • 2012-07-29
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多