2013-05-10 53 views
0

我的Windows Phone 8应用程序中的图像部分覆盖了ScrollViewer。现在,当您开始在图像上滚动时,就像在图像外滚动时一样。但是我想阻止ScrolLViewer在图像上的拖动动作开始时滚动。该图像是一个部分透明的PNG文件,但当我用一个矩形替换它时会发生同样的行为。 我怎样才能用WP8做到这一点?不要在图像后面滚动ScrollViewer

+0

您可以添加截图或xaml吗?否则,它很难知道/可视化问题。 – 2013-05-10 23:33:07

回答

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; 
} 
+0

谢谢!如何禁用ListBox中ScrollViewer的滚动? – Stacksatty 2013-05-11 08:58:27

+1

对于ListBox,VerticalScrollBarVisibility是一个附加属性,因此您可以使用ScrollViewer.SetVerticalScrollBarVisibility(listbox,ScrollBarVisibility.Disabled); – Murkaeus 2013-05-12 01:16:00