【问题标题】:Don't scroll ScrollViewer behind image不要在图像后面滚动 ScrollViewer
【发布时间】:2013-05-11 12:50:56
【问题描述】:

我有一个 ScrollViewer,它被我的 Windows Phone 8 应用程序中的图像部分覆盖。现在,当您开始在图像上滚动时,它就像开始在图像外滚动时一样工作。但我想防止 ScrollLViewer 在图像上开始拖动时滚动。该图像是一个部分透明的 png 文件,但是当我用矩形替换它时会发生相同的行为。 如何使用 WP8 做到这一点?

【问题讨论】:

  • 你能添加截图或xaml吗?否则,很难知道/可视化问题。

标签: windows-phone-7 windows-phone-8


【解决方案1】:

您必须将事件处理程序附加到图像的 MouseLeftButtonDown、MouseLeave 和 MouseLeftButtonUp 以禁用然后重新启用 ScrollViewer 的垂直/水平滚动。

private void Image_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled;
}

private void Image_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
{
    scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
}

private void Image_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
}

【讨论】:

  • 谢谢!如何禁用 ListBox 内的 ScrollViewer 的滚动?
  • 对于 ListBox,VerticalScrollBarVisibility 是一个附加属性,因此您可以使用 ScrollViewer.SetVerticalScrollBarVisibility(listbox, ScrollBarVisibility.Disabled);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-20
  • 2014-11-17
  • 1970-01-01
  • 2010-11-11
  • 2018-01-29
相关资源
最近更新 更多