WPF无法滚动ScrollViewer中的图像

Epi*_*lle 0 c# wpf xaml image scrollviewer

我尝试在窗口中显示图像:

<Window x:Class="Problem.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <DockPanel>
        <StackPanel Orientation="Vertical">
            <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible">
                <Image Source="cat.jpg" Stretch="Uniform">
                    <Image.LayoutTransform>
                        <RotateTransform Angle="90" />
                    </Image.LayoutTransform>
                </Image>
            </ScrollViewer>
        </StackPanel>
    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

其中cat.jpg是1920x1080的图像.

结果如下:

在此输入图像描述

如您所见,VerticalScrollbar已禁用,但我看不到完整的猫头.而且,HorisontalScrollBar是Invisible.

我的问题是:如何启用滚动条以滚动我的图像?

Dom*_*see 5

删除StackPanel.它赋予其内容无限空间,因此ScrollViewer具有图像的高度.如果你需要在图像下面堆叠一些东西,在StackPanel里面创建一个ScrollViewer:

<Window x:Class="Problem.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<DockPanel>
    <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible">
        <StackPanel>
            <Image Source="cat.jpg" Stretch="Uniform">
                <Image.LayoutTransform>
                    <RotateTransform Angle="90" />
                </Image.LayoutTransform>
            </Image>
        </StackPanel>
    </ScrollViewer>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)