0

使用此代码,我想看到 200x200 的窗口,其中包含 3 个项目。带有滚动条的第二个或中间项目,在最大化窗口时无法拉伸到它的全尺寸。“我忘了告诉我,当窗口正常时,我想要具有精确高度大小(例如 120 *)的滚动查看器。如果窗口被拉伸,那么我想用它的“自动”大小拉伸所有项目(意味着我想要显示全部滚动查看器的项目)。” 怎么解决?

<Title="Window1" Height="200" Width="200">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="50" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <TextBox Grid.Row="0" Text="Hi" VerticalAlignment="Center"/>
        <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <TextBox Grid.Row="0" Text="HI"  VerticalAlignment="Center"/>
                <TextBox Grid.Row="1" Text="HI" VerticalAlignment="Center"/>
                <TextBox Grid.Row="2" Text="HI" VerticalAlignment="Center"/>
                <TextBox Grid.Row="3" Text="HI" VerticalAlignment="Center"/>
            </Grid>
        </ScrollViewer>
        <TextBox Grid.Row="2" Text="Hello&#10;Hello&#10;Hello&#10;"/>
    </Grid>

请看这张图片:

在此处输入图像描述

或访问http://i42.tinypic.com/10r7994.png获取全尺寸图片。

4

2 回答 2

0

尝试Height="*"将剩余空间用于中间项目:

<Grid.RowDefinitions>
    <RowDefinition Height="50" />
    <RowDefinition Height="*" />
    <RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
于 2013-09-05T09:14:49.037 回答
0

您应该设置 ScrollViewer 的 MinHeight 和 MinWidth。并使用Element绑定Window的高度和宽度的ScrollViewer的高度和宽度。

像-- MinHeight="120" MinWidth="120"
Height="{Binding Path=Height, ElementName=Wind}"

宽度=“{绑定路径=宽度,元素名称=风}”

它应该工作。

于 2013-09-05T09:19:28.963 回答