使图像适合页面并自动隐藏滚动条

时间:2015-02-02 07:23:11

标签: wpf image xaml

<ScrollViewer x:Name="imagescrollviewer" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
    <!--<Viewbox>-->
        <Image x:Name="im" Source="{Binding JpgImageSource}" RenderTransformOrigin="0.5,0.5" Stretch="Uniform">
            <Image.RenderTransform>
                <ScaleTransform  ScaleX="{Binding Value,ElementName=scaleslider}" ScaleY="{Binding Value,ElementName=scaleslider}"/>
            </Image.RenderTransform>
        </Image>
        <!--</Viewbox>-->
    </ScrollViewer>
<Slider x:Name="scaleslider" Orientation="Vertical" Height="100" Margin="5" HorizontalAlignment="Center" Maximum="4" Minimum="0.2" Value="1"/>
  1. 滚动条无法正确显示图像大小。当图像变大时,滚动条应该更短,反之亦然。有没有办法找出问题?

  2. 如何在图像适合窗口时知道滑块值?

1 个答案:

答案 0 :(得分:1)

我想你需要使用LayoutTransform代替RenderTransformThis blog post很好地描述了这种差异。

<Image x:Name="im" Source="{Binding JpgImageSource}" >
    <Image.LayoutTransform>
        <ScaleTransform  ScaleX="{Binding Value,ElementName=scaleslider}" ScaleY="{Binding Value,ElementName=scaleslider}"/>
    </Image.LayoutTransform>
</Image>