XAML网格列宽不匹配

XAML网格列宽不匹配,xaml,uwp,width,Xaml,Uwp,Width,我正在用UWP制作一个表(我对UWP很陌生,所以请放轻松!甚至可以建议一种实现此功能的方法,它比使用UWP要好十倍)来动态加载数据。这是它的XAML代码: <ListView x:Name="ShiftListView" Grid.Column="0"> <ListView.HeaderTemplate> <DataTemplate> <Grid>

我正在用UWP制作一个表(我对UWP很陌生,所以请放轻松!甚至可以建议一种实现此功能的方法,它比使用UWP要好十倍)来动态加载数据。这是它的XAML代码:

    <ListView x:Name="ShiftListView" Grid.Column="0">
        <ListView.HeaderTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" x:Name="HeaderColumn"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <TextBlock  Text="Location" Grid.Column="0"/>
                    <TextBlock  Text="Role"     Grid.Column="1"/>
                    <TextBlock  Text="Date"     Grid.Column="2"/>
                    <TextBlock  Text="Start"    Grid.Column="3"/>
                    <TextBlock  Text="Finish"   Grid.Column="4"/>
                </Grid>
            </DataTemplate>
        </ListView.HeaderTemplate>

        <ListView.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <TextBlock Text="{Binding Location}" Grid.Column="0"></TextBlock>
                    <TextBlock Text="{Binding Role}"     Grid.Column="1"></TextBlock>
                    <TextBlock Text="{Binding Date}"     Grid.Column="2"></TextBlock>
                    <TextBlock Text="{Binding Start}"    Grid.Column="3"></TextBlock>
                    <TextBlock Text="{Binding Finish}"   Grid.Column="4"></TextBlock>
                </Grid>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

两个网格的列定义都是以完全相同的方式完成的,但是第一个网格是唯一一个延伸以填充整个可用空间的网格,而另一个网格的工作方式就好像我输入了“自动”并仅缩放到内容的大小一样。我曾尝试将第二组列的宽度绑定到第一组列,但没有任何改变

<ColumnDefinition Width="{Binding ElementName=HeaderColoumn, Path=ActualWidth"/>

但遗憾的是,这并没有奏效


将ItemContainerStyle附加到ListView,指定HorizontalContentAlignment=Stretch

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="Padding" Value="0"/>
    </Style>
</ListView.ItemContainerStyle>

非常感谢您!