WPF 滚动查看器不工作

WPF ScrollViewer is not working

我想在我的程序中添加滚动视图,我尝试了 ScrollView 控件,但没有生效。这是我第一次处理卷轴,请帮助我:)。

我的xaml代码:

<DockPanel Grid.Row="1" Background="#FF695887">
        <ScrollViewer VerticalScrollBarVisibility="Auto" Height="795">
            <Canvas Name="zemelapis" Height="Auto" Width="Auto">
                <Image Name="pav_kelias" />
                <Image Name="car1" />
            </Canvas>
        </ScrollViewer>
</DockPanel>

因为这两张图片不适合放在这里,所以我需要一个卷轴。也许我应该使用 ScrollBar?

我的程序示例:https://gyazo.com/a4ba7e4d5004632e2229a87e686c4c09 ,如您所见,底部图像不在 window.

范围内

您已将 Auto 指定为 HeightWidth。这意味着 Canvas 将填充它可用的高度。

来自documentation

Auto sizing behavior implies that the element will fill the height available to it.

在这种情况下,可用高度是 ScrollViewer 的高度。

如果您希望 Canvas 更大,从而使 ScrollViewer 滚动,您应该在 Canvas 上设置一个大于 [=15] 的高度=].

因此,例如:

<DockPanel Grid.Row="1" Background="#FF695887">
        <ScrollViewer VerticalScrollBarVisibility="Auto" Height="795">
            <Canvas Name="zemelapis" Height="1000" Width="Auto">
                <Image Name="pav_kelias" />
                <Image Name="car1" />
            </Canvas>
        </ScrollViewer>
</DockPanel>

如果您想让 ScrollViewer 更容易工作,请使用 Grid 而不是 Canvas:

<DockPanel Background="#FF695887">
        <ScrollViewer >
            <Grid Name="zemelapis">
                <Image Name="pav_kelias" Source="acteurs.png"/>
                <Image Name="car1" Source="public.jpg"/>
            </Grid>
        </ScrollViewer>
    </DockPanel>

正如 Domysee 所解释的那样,Canvas 让您可以完全控制布局。然而,网格会根据内容自动调整其大小。

http://www.wpf-tutorial.com/panels/introduction-to-wpf-panels/