0

このコードでは、3 つのアイテムを含む 200x200 のウィンドウを表示したいと考えています。ウィンドウを最大化すると、スクロールバーのある 2 番目または中間のアイテムがフル サイズに拡大できませんでした。「ウィンドウが通常の場合、正確な高さサイズ(120 *など)のスクロールビューアーが必要であることを忘れていました。ウィンドウが引き伸ばされている場合は、すべてのアイテムを「自動」サイズで引き伸ばしたい(つまり、 scrollviewer のアイテムをすべて表示します)。」の解き方?

<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

ScrollViewer の MinHeight と MinWidth を設定する必要があります。そして Element を使用して、Window の Height と Width の ScrollViewer の Height と Width をバインドします。

同様に -- MinHeight="120" MinWidth="120"
Height="{Binding Path=Height, ElementName=Wind}"

Width="{Binding Path=Width, ElementName=Wind}"

それはうまくいくはずです。

于 2013-09-05T09:19:28.963 に答える
0

Height="*"残りのスペースを真ん中のアイテムに使用してみてください:

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