C# ScrollViewer滚动条不显示

C# ScrollViewer滚动条不显示,c#,xaml,uwp,C#,Xaml,Uwp,我正在更新以前的工作应用程序。测试显示,当缩放使所包含的部分图像从屏幕上脱落时,ScrollViewer的行为异常。最初的应用程序是使用VS 2013作为通用Windows应用程序创建的。新的应用程序是用VS 2015作为通用Windows应用程序创建的,尽管目标版本已转移到周年纪念版 我的XAML定义如下: <ScrollViewer x:Name="SV1" Grid.Row="1" HorizontalScrollBarVisibility="Auto" Verti

我正在更新以前的工作应用程序。测试显示,当缩放使所包含的部分图像从屏幕上脱落时,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的缩放级别。缩放更改是使用SV1.ChangeView(null、null、zoomFactor)实现的

图像在屏幕上明显改变大小,但当它们从右侧或底部脱落时,滚动条不会出现。即使将可见性属性更改为“可见”而不是“自动”,也不会导致出现滚动条。当尺寸改变时,在短时间内,一条细线将出现在钢筋应位于的位置,然后消失。此外,用户输入通常会像移动鼠标滚轮一样滚动,但不会执行任何操作

根据其他评论,我尝试用网格替换StackPanel,但没有明显效果


我画的是空白。有什么想法吗?

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

通常的原因是ScrollViewer正在扩展以容纳其内容。尝试在包含它的网格上设置VerticalAlignment=“Stretch”——但这将取决于整个上下文,即窗口。对我来说,这是XAML中非常痛苦的一部分。