我试图在我的wpf应用程序中使用网格行/列定义。目前,我需要在GroupBox中实现列表视图。在这里,我需要忽略我在视图顶部设置的列定义。
行和列定义:
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="260" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="180" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="180" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
在这里你看到我有一个高度为260的rowDefinition。这应该包含我的列表视图。问题在于它在我制作的列中,因此它不会占用所有空间。是否有某种设置,以便该行将忽略我设置的列?我仍然希望将列用于其他行。
在这里,您可以看到它的外观图片:
希望有人可以帮助,美好的一天。
答案 0 :(得分:4)
只需使用附加财产Grid.ColumnSpan
:
<ListView Grid.ColumnSpan="6"/>
它会将您的ListView
扩展为6列。
有关您的用户界面的简单建议:
我建议你创建可调整大小的XAML,而不是静态的。我的意思是它不好:
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="260" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="180" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="180" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
然而,它更好:
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="3*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="0.5*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="0.5*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
它可以在任何显示屏上显示可调整大小的UI(XAML)。
答案 1 :(得分:1)
您可以在列表视图中设置Grid.ColumnSpan="6"
。它会在行中扩展。
<ListView Grid.ColumnSpan="6"/>
答案 2 :(得分:1)
取决于您希望如何显示列表视图。
为了安全起见,您可以添加另一个网格,以便稍后在该行添加内容。
<Grid grid.Row="6" Grid.Column="0" Grid.ColumnSpan="6">
<ListView> </ListView>
</Grid>