【问题标题】:ScrollViewer CanContentScroll Property not Found (Windows 8.1 Universal App)未找到 ScrollViewer CanContentScroll 属性(Windows 8.1 通用应用程序)
【发布时间】:2015-06-22 14:29:33
【问题描述】:

我试图让 ScrollView 进行逻辑滚动而不是物理滚动。在网上阅读了如何做到这一点后,大多数消息来源说将 CanContentScroll 属性设置为 False。但是,在尝试执行此操作时,似乎 ScrollViewer 没有此属性。

这是我的 XAML 代码:

<ScrollViewer x:Name="TestScroll" CanContentScroll="True"  HorizontalScrollBarVisibility="Disabled" HorizontalScrollMode="Disabled" Margin="66,215,1020,10" Grid.Row="1">
        <StackPanel x:Name="TestPanel" Orientation="Vertical">
        </StackPanel>
    </ScrollViewer>

以及抛出的错误:

Error   1   The member "CanContentScroll" is not recognized or is not accessible.

Error 2 The property 'CanContentScroll' was not found in type 'ScrollViewer'

我正在为 Windows 8.1 开发,创建一个通用应用程序。我觉得我缺少参考或非常简单的东西,因为在我看过的其他任何地方,它都可以正常工作。

任何帮助将不胜感激。

【问题讨论】:

  • 首先,Windows 8.1 通用应用不使用 WPF。他们使用 WinRT。这就是您找不到CanContentScroll 属性的原因,它根本不存在于WinRT 的ScrollViewer 中。
  • 谢谢@almulo,这也有助于我澄清其他一些事情。我能够通过使用 WinRT ScrollViewer 属性 (VerticalSnapPoints) 来解决这个问题。

标签: c# wpf xaml winrt-xaml


【解决方案1】:

想通了,改用 ScrollViewer 的 VerticalSnapPointsType="Mandatory" 属性。

【讨论】:

  • 很高兴你找到它!我在看 Snap Points 的东西,但还没有真正开发过任何 Win8,所以不确定 :) 开箱即用吗?它会捕捉到您的项目边界吗?
  • 是的,开箱即用。有几种不同的选项(实际上是 5 个):None、Optional、OptionalSingle、Mandatory、MandatorySingle。我在带有 XAML 和 C# Unleashed 的 Windows 8.1 应用程序的第 112 页上找到了这些,找到了 here
猜你喜欢
  • 2018-02-03
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多