我在WPF中有一个5列网格,显示一些动态数据。第1,2和4列是固定宽度,因为它们是有效标签,但2和5可以是不同长度。
第3列应该换行以确保显示所有内容但可以扩展到最大宽度390.但是第5列应该保留在一行上。当我调整窗口大小时,所有内容都必须保留在屏幕上而没有水平滚动条。中间(第3)列应缩小以保持屏幕上的第4和第5列。
当前行为:第3列将在内容扩展到390以后进行换行,但调整窗口大小不会导致此列调整大小,但会导致第5列然后4从屏幕上消失。
到目前为止,这是代码:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Grid x:Name="ListItemControl"
Grid.Column="0"
MinHeight="50"
Width="auto"
VerticalAlignment="Top">
<Border Background="LightBlue"
Margin="1,0,1,1" />
<Grid VerticalAlignment="Center"
Margin="20,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40" />
<ColumnDefinition Width="130" />
<ColumnDefinition Width="*"
SharedSizeGroup="col2" />
<ColumnDefinition Width="150" />
<ColumnDefinition Width="auto"
SharedSizeGroup="col4" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MinHeight="50" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0"
Grid.Row="0"
Margin="0,10,0,10"
Text="Due" />
<TextBlock Grid.Column="1"
Grid.Row="0"
Margin="0,10,10,10"
Text="Some Date" />
<TextBlock Grid.Column="2"
Grid.Row="0"
Margin="0,10,30,10"
Text="There is some potentially long text here. This is a placeholder and should wrap."
TextWrapping="Wrap"
MaxWidth="390" />
<TextBlock Grid.Column="3"
Grid.Row="0"
Margin="0,10,10,10"
Text="Who's responsible" />
<TextBlock Grid.Column="4"
Grid.Row="0"
Margin="0,10,10,10"
Text="Name - could be a very long name" />
</Grid>
</Grid>
</Grid>
任何帮助都非常感谢!
答案 0 :(得分:0)
你的ListItemControl
网格位于另一个有一列的网格中,不知道原因。删除那个父网格,你就完成了。