我正在尝试创建一个项目列表,其中每个项目具有相同数量的包含标签的列。由于每个标签中的文本大小不同,我希望列是可用宽度的百分比,以便它们在不同的列表项之间排列。这就是我遇到问题的地方。即使我将网格列宽度设置为“*”,它们也没有使用可用宽度。我正在寻找与 WPF SharedSizeGroup 相当的解决方案。
tldr:.net MAUI 中的 ListView,列表项之间的列间隔均匀。
<ListView ItemsSource="{Binding TransactionViewmodels}" Grid.Row="1">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid ColumnSpacing="24" Margin="24">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0"
Grid.Row="0"
FontSize="Medium"
Text="{Binding Date}"/>
<Label Grid.Column="0"
Grid.Row="1"
FontSize="Small"
Text="{Binding Time}"/>
<Label Grid.Column="1"
Grid.Row="0"
FontSize="Medium"
Text="{Binding StockName}"/>
<Label Grid.Column="1"
Grid.Row="1"
FontSize="Small"
Text="{Binding Isin}"/>
<Label Grid.Column="2"
Grid.Row="0"
Grid.RowSpan="2"
FontSize="Small"
VerticalTextAlignment="Center"
Text="{Binding Description}"/>
<Label Grid.Column="3"
Grid.Row="0"
Grid.RowSpan="2"
FontSize="Medium"
VerticalTextAlignment="Center"
Text="{Binding Value}"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>