【问题标题】:Disable navigation on FlipView禁用 FlipView 上的导航
【发布时间】:2014-02-24 14:58:24
【问题描述】:

我想禁用用户输入(例如鼠标滚轮和触摸屏)在我的FlipView(水平滚动)上的所有导航。

flipview 应该以编程方式更改其选定索引的唯一方法,我已经删除了 FlipView 样式中的侧边按钮。

我尝试更改ScrollViewer 的一些属性的样式,但我无法阻止所有内容。任何人都可以提示我正确和干净的方法吗?

【问题讨论】:

  • 在上面放一个空白的Grid。它将阻止所有用户输入。
  • 问题是,我在FlipViewItems 中有控件,我希望用户能够与之交互。
  • 尝试更改 FlipView 的 ManipulationMode。之后,您可以尝试从样式中删除左右按钮。

标签: xaml windows-runtime windows-store-apps


【解决方案1】:

我通过覆盖ControlTemplate 并在ItemsPresenter 中更改ManipulationMode 找到了解决方案。只需将此代码放入您的FlipView

<FlipView.Template>
    <ControlTemplate>
        <ItemsPresenter ManipulationMode="None"></ItemsPresenter>
    </ControlTemplate>
</FlipView.Template>

在我看来,做一些简单的事情(比如禁用用户交互)应该不难。应该有一个属性可以做到这一点。

【讨论】:

  • 我刚刚意识到这实际上取代了整个 ControlTemplate。正确的方法是继承原始的 ControlTemplate 以便能够以编程方式进行翻转。使用在 ItemsPresenter 中禁用 ManipulationMode 的自定义 FlipView 样式:link
【解决方案2】:

您可以将 FlipViewIsEnabled 属性设置为 False

希望对您有所帮助!

【讨论】:

  • 这也会禁用翻转视图的内容,我只是想禁用它的导航但允许用户与其内容进行交互。
  • 您是否尝试使用以下代码禁用翻转视图的滚动查看器: ScrollViewer.Horizo​​ntalScrollBarVisibility="Disabled" ScrollViewer.Horizo​​ntalScrollMode="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollMode="Disabled"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-09
  • 2022-08-04
  • 2023-03-24
  • 2015-07-17
  • 2017-01-24
  • 2016-08-28
相关资源
最近更新 更多