如何在ListBox中拉伸网格列?

时间:2014-05-23 21:09:02

标签: c# xaml windows-phone-8

我已创建此ListBox,我已将HorizontalContentAlignment设置为Stretch,因此它涵盖了应用的全部宽度。

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

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

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

在列{i} TextboxesImage(第2列中有一个)。

这里发生的是从左到右堆叠的所有内容:

| Long_Text Image Text Text                 |

而不是

| Long_Text                 Image Text Text |

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

设置ListBox ItemContainerStyle

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

答案 1 :(得分:0)

您是否尝试过使用GridView?

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

MSDN: GridView