我如何在列表框内拉伸网格列

本文关键字:网格 列表 | 更新日期: 2023-09-27 18:04:46

我创建了这个ListBox,我将HorizontalContentAlignment设置为Stretch,因此它覆盖了应用程序的整个宽度。

在ListBox中,我创建了一个4列的网格:

                         <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="auto" />
                        </Grid.ColumnDefinitions>

我想要的布局是第一列占用尽可能多的空间,其他三列只占用它们需要的空间。

在列中,我有TextboxesImage(一个,在第二列)。

这里的情况是所有的东西都是从左到右堆叠的:

| Long_Text Image Text Text                 |

代替

| Long_Text                 Image Text Text |

我该如何解决这个问题?

我如何在列表框内拉伸网格列

设置列表框的ItemContainerStyle

<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</ListBox.ItemContainerStyle>

你试过使用GridView吗?

<ListView>
   <ListView.View>
      <GridView>
         <GridViewColumn/>
      </GridView>
   </ListView.View>
</ListView>

MSDN:显示数据表格