繁体   English   中英

将WPF ListBox停靠到窗口

[英]Dock WPF ListBox to window

我有一个WPF MainWindow.xaml,它包含一个具有两个列表框的网格,如下所示:

<Window  blah blah >
<Grid>
    <Border Grid.Row="1" Grid.Column="0" BorderBrush="DarkGray" CornerRadius="2" BorderThickness="1" >
        <Grid Height="Auto" Width="Auto">
            <Grid.RowDefinitions>
                <RowDefinition Height="35"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>

            <Label Grid.Row="0" Grid.Column="0">ListBox 1</Label>
            <ListBox x:Name="lvTypes" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Visibility="Visible" Width="Auto"  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="150" Background="#FFFFFFFF">
            </ListBox>

            <GridSplitter Grid.Column="0" Grid.RowSpan="2" Width="5"></GridSplitter>

            <Label Grid.Row="0" Grid.Column="1">ListBox 2</Label>
            <ListBox x:Name="lvObjects" Grid.Column="1" Grid.Row="1" Width="Auto" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="150">
            </ListBox>
        </Grid>
    </Border>
</Grid>
</Window>

它看起来如下:

在此处输入图片说明

我如何才能使网格的右侧停靠在屏幕的右侧,并使窗口中的两个列表框相等?

将列宽设置为*而不是自动。


边框设置Grid.RowGrid.Column属性。 这些对您无济于事,因为外部Grid仅具有一个(默认)行和同上列。 实际上,您根本不需要外部Grid 您可以将“ Border作为“ Window内容。

还可以考虑更改此:

<RowDefinition Height="35"/>

对此:

<RowDefinition Height="Auto"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM