C# 如何在列表框中拉伸网格列?

C# 如何在列表框中拉伸网格列?,c#,xaml,windows-phone-8,C#,Xaml,Windows Phone 8,我已经创建了这个ListBox,在这里我将HorizontalContentAlignment设置为Stretch,这样它就覆盖了应用程序的整个宽度 在列表框中,我创建了一个包含4列的网格: <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <C

我已经创建了这个
ListBox
,在这里我将
HorizontalContentAlignment
设置为
Stretch
,这样它就覆盖了应用程序的整个宽度

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

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

| Long_Text                 Image Text Text |

如何修复此问题?

您尝试过使用GridView吗

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


设置ListBox ItemContainerStyle

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


我看不出它将如何利用全宽,如果它利用全宽。。。什么属性使它这样做。。。也许我可以把它应用到ListBox?很抱歉,我记得gridview似乎不支持星形宽度。只有DataGrid能做到这一点。要在gridview列上实现星形宽度,可以使用转换器
<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</ListBox.ItemContainerStyle>