(以下新信息)
重现:
在默认的通用应用程序中 - 使用以下代码(Image
内的ScrollViewer
) - 禁用垂直滚动并开始使用鼠标滚轮滚动(水平)时{{1} }不会保持垂直偏移。
ScrollViewer
和
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Name="button1" Click="button1_Click" VerticalAlignment="Top" >Disable Vertical Scrolling</Button>
<Button Name="button2" Click="button2_Click" VerticalAlignment="Top" Margin="0,50,0,0" >Enable Vertical Scrolling</Button>
<ScrollViewer Name="scrollViewer" Width="100" Height="100" Background="AliceBlue" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" >
<Image Stretch="None" Source="Assets/Wide310x150Logo.scale-200.png"></Image>
</ScrollViewer>
</Grid>
注意:在所有情况下都不会发生这种情况。它确实如下:
而不是水平移动的图像 - 它也垂直居中。
这真的是一个错误,还是我的代码中有错误?如果是 - 任何解决方法? (我们无法从private void button1_Click(object sender, RoutedEventArgs e)
{
scrollViewer.VerticalScrollMode = ScrollMode.Disabled;
}
private void button2_Click(object sender, RoutedEventArgs e)
{
scrollViewer.VerticalScrollMode = ScrollMode.Enabled;
}
派生,因为它是ScrollViewer
。)
新信息
如果在禁用垂直滚动后等待滚动条消失 - 则保持垂直偏移 。也许它只会在消失时保存偏移。不过,我仍然无法找到解决方法。