[英]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.Row
和Grid.Column
屬性。 這些對您無濟於事,因為外部Grid
僅具有一個(默認)行和同上列。 實際上,您根本不需要外部Grid
。 您可以將“ Border
作為“ Window
內容。
還可以考慮更改此:
<RowDefinition Height="35"/>
對此:
<RowDefinition Height="Auto"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.