ScrollViewer滚动条未显示

时间:2016-09-29 19:27:02

标签: c# xaml uwp

我正致力于更新以前正在运行的应用。测试显示当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,没有明显效果。

我画了一张空白。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

似乎答案是共享相同视觉空间的下一个控件需要在XAML中设置为Visibility="Collapsed"。可见性是以编程方式控制的,但如果没有XAML标记,则不会显示上一个控件的滚动条,也不会显示标记。