XAML ListView标题和ItemTemplate无法左对齐

zpf6vheq  于 2023-03-16  发布在  其他
关注(0)|答案(1)|浏览(143)

ListViews标题和ItemTemplate具有相同的列宽,但*列之后的标题右对齐:

标题(黄色BG)显示列宽,* 70 15 & 70*左对齐,但其他的似乎右对齐。我们希望70文本在数据的D之上,即左对齐。我们如何实现这一点?
Here是一个基本的github项目来说明这个问题。

8fq7wneg

8fq7wneg1#

ListView不适用于列。您应该使用CommunityToolkitDataGrid

<toolkit:DataGrid
    AutoGenerateColumns="False"
    ItemsSource="{x:Bind ViewModel.ItemsOC, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
    <toolkit:DataGrid.Columns>
        <toolkit:DataGridTemplateColumn
            Width="*"
            Header="*">
            <toolkit:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel>
                        <Border
                            HorizontalAlignment="Left"
                            Background="Orange"
                            CornerRadius="8">
                            <TextBlock
                                Margin="0,1,6,3"
                                FontSize="10"
                                FontWeight="SemiBold"
                                Foreground="#000"
                                Text="{Binding Data_0}" />
                        </Border>
                    </StackPanel>
                </DataTemplate>
            </toolkit:DataGridTemplateColumn.CellTemplate>
        </toolkit:DataGridTemplateColumn>
        <toolkit:DataGridTextColumn
            Width="70"
            Binding="{Binding Data_1}"
            Header="70" />
        <toolkit:DataGridTextColumn
            Width="70"
            Binding="{Binding Data_2}"
            Header="70" />
        <toolkit:DataGridTextColumn
            Width="70"
            Binding="{Binding Data_3}"
            Header="70" />
    </toolkit:DataGrid.Columns>
</toolkit:DataGrid>

相关问题