我正在更新以前工作的應用程序。測試顯示,當縮放使包含的圖像的一部分脫離屏幕時,ScrollViewer表現出奇怪的行爲。原始應用程序是使用VS 2013創建的通用Windows應用程序。雖然目標版本已經轉移到週年紀念版上,但新應用程序是使用VS 2015創建的通用Windows應用程序。ScrollViewer滾動條不出現
我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)實現的。
圖像明顯地改變了屏幕上的大小,但是當它們從右邊或底部脫落時滾動條不會出現。即使將可見性屬性更改爲「可見」而不是「自動」,也不會導致滾動條出現。當尺寸發生變化時,在短暫的時間內,細條應出現在應該出現的位置,然後消失。另外,像通常移動鼠標滾輪一樣滾動的用戶輸入什麼也不做。
基於其他評論,我試着用沒有明顯效果的Grid替換StackPanel。
我在畫空白。有任何想法嗎?
通常的原因是ScrollViewer正在擴展以適應其內容。嘗試在包含它的網格上設置VerticalAlignment =「Stretch」 - 但這將取決於整個上下文,直到窗口。對我來說,這是XAML非常痛苦的一部分。 –