我正致力于更新以前正在运行的应用。测试显示当Zoom使部分包含的图像从屏幕上掉落时,ScrollViewer的行为很奇怪。原始应用程序是使用VS 2013创建的通用Windows应用程序。新应用程序是使用VS 2015创建的通用Windows应用程序,尽管目标版本已转移到周年纪念版。
我的XAML定义如下:
<ScrollViewer x:Name="SV1" Grid.Row="1" HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
SizeChanged="SV1_SizeChanged" ZoomMode="Enabled" >
<StackPanel x:Name="ImagePanel" Orientation="Horizontal" HorizontalAlignment="Center"
VerticalAlignment="Top" >
<Image x:Name="ImageLeft" Stretch="Uniform" />
<Image x:Name="ImageRight" Stretch="Uniform" />
</StackPanel>
</ScrollViewer>
用户可以更改ScrollViewer的ZoomLevel。使用SV1.ChangeView(null,null,zoomFactor)实现缩放更改。
图像在屏幕上明显改变大小,但当它们从右侧或底部掉落时,滚动条不会出现。甚至将可见性属性更改为&#34; Visible&#34;而不是&#34; Auto&#34;不会导致滚动条出现。当尺寸发生变化时,短暂的瞬间会出现细线,然后消失。此外,用户输入通常会像移动鼠标滚轮一样滚动。
根据其他评论,我尝试用网格替换StackPanel,没有明显效果。
我画了一张空白。有什么想法吗?
答案 0 :(得分:0)
似乎答案是共享相同视觉空间的下一个控件需要在XAML中设置为Visibility="Collapsed"
。可见性是以编程方式控制的,但如果没有XAML标记,则不会显示上一个控件的滚动条,也不会显示标记。