ScrollViewer跳回左边框

本文关键字:边框 左边 ScrollViewer | 更新日期: 2024-09-24 22:59:29

我有一个ScrollViewer,里面有一个图像。每次我将图像放大到比屏幕大的时候,它都会反弹到左边界。奇怪的是,只有左边,没有顶部,即使图像的宽度和高度都比我的屏幕大。BringIntoViewOnFocusChange似乎没有帮助。

<UserControl>
    <Grid>
        <ScrollViewer ZoomMode="Enabled"
              HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BringIntoViewOnFocusChange="False" >
            <Image ScrollViewer.BringIntoViewOnFocusChange="False" HorizontalAlignment="Center" VerticalAlignment="Center" />
        </ScrollViewer>
    </Grid>
</UserControl>

ScrollViewer跳回左边框

这个答案解决了问题。如果不想干扰图像大小,可以使用ScrollViewerViewportHeightViewportWidth属性

  <Image Width="{Binding ElementName=scrollViewer, Path=ViewportWidth}"
         Height="{Binding ElementName=scrollViewer, Path=ViewportHeight}"
         ScrollViewer.BringIntoViewOnFocusChange="False"
         HorizontalAlignment="Center"
         VerticalAlignment="Center"
         Source="Assets/image.jpg" />