我有一个 WP8 XAML 项目,在一页上我有以下 XAML 结构:
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel x:Name="TitlePanel"
Grid.Row="0"
Margin="12,17,0,17">
<TextBlock Text="{Binding Article.Title}"
Style="{StaticResource PhoneTextNormalStyle}"
Margin="12,0" />
<TextBlock Text="{Binding Article.LastUpdateDate}"
Style="{StaticResource PhoneTextNormalStyle}"
Margin="12,0" />
</StackPanel>
<ScrollViewer Grid.Row="1" x:Name="ScrollViewer">
<StackPanel x:Name="ContentPanel" />
</ScrollViewer>
</Grid>
StackPanel 用于显示不同的内容。Letzt 说一些图像,一个网络浏览器控件和更多图像。
我的 Webbrowser 控件的高度适合内容高度。所以我不想在 Webbrowser 控件内滚动。我按照这篇文章来做到这一点: http://www.scottlogic.com/blog/2011/11/17/suppressing-zoom-and-scroll-interactions-in-the-windows-phone-7-browser-control。 html
所以我检查滚动事件并忽略它:
private void Border_ManipulationDelta(object sender,
ManipulationDeltaEventArgs e)
{
// suppress zoom
if (e.DeltaManipulation.Scale.X != 0.0 ||
e.DeltaManipulation.Scale.Y != 0.0)
e.Handled = true;
// optionally suppress scrolling
if (ScrollDisabled)
{
if (e.DeltaManipulation.Translation.X != 0.0 ||
e.DeltaManipulation.Translation.Y != 0.0)
{
e.Handled = true;
}
}
}
到目前为止这工作正常,但如果焦点在我的 webbrowser 控件上并且我尝试滚动,webbrowser 不会滚动,但我想滚动父 scrollviewer。
是否有可能将该事件推送到滚动查看器。
或者是否有另一种可能只是禁用我的控件中的滚动,但总是滚动我的滚动查看器?
此致,
麦克风。