0

グリッドにはリストボックスがあり、リストボックスの下には画像があります。メイン ウィンドウが水平方向に小さくなっている場合、画像はその比率を維持しますが、下部のグリッドにドッキングされ、サイズが自動であるため、サイズが小さくなります。

リストボックスの下部が画像の場所と同じになる可能性はありますか?

何かのようなもの:

On image_resize 
{
    listbox.Height = image.Location;
}
4

1 に答える 1

3

Listbox を拡張して残りのスペースを埋めたい場合は、少なくとも 2 つの解決策があります。

DockPanel を使用する場合:

<DockPanel LastChildFill="True">
    <Image Source="..." Dock.DockPanel="Bottom"/>
    <ListBox ItemsSource="{...}" DockPanel.Dock="Top"/>
</DockPanel>

Image はリストの最初の要素ですが、一番下にドッキングされるため、ListBox の下に配置されます。ListBox は DockPanel の最後の要素であるため、残りのスペースを埋めるために伸びます。DockPanel の詳細については、このリンクを参照してください。

グリッドの場合:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <ListBox Grid.Row="0"/>

    <Image Grid.Row="1"/>
</Grid>

Grid を使用すると、内容に合わせて行自体を自動サイズ変更するか、残りのスペースを埋めるように行自体をサイズ変更するか、特定の高さを指定するかを要求できます。*表記は、残りのスペースを埋めることを示します。グリッド レイアウトの詳細については、このリンクを参照してください。クイック チュートリアルについては、このリンクを参照してください。

于 2012-04-29T04:58:24.093 に答える