Как нарисовать таблицу в MAUI(Xamarin)
Использую CollectionView. Выделенный элемент должен менять цвет. Для изменения цвета использую VisualStateManager. Вопрос в том, как лучше сверстать подобную таблицу? Чтобы было разделение между строчками и столбцами.
<CollectionView
ItemsSource="{Binding ManningItemsList}"
SelectionMode="Multiple">
<!-- Table header -->
<CollectionView.Header>
<Grid
BackgroundColor="#7293bf"
ColumnSpacing="1"
VerticalOptions="Start">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Label
Grid.Column="0"
Margin="0,1,0,1"
Text="Товар"
BackgroundColor="#1d3d60"/>
<Label
Grid.Column="1"
Margin="0,1,0,1"
Text="Время"
BackgroundColor="#1d3d60"/>
<Label
Grid.Column="2"
Margin="0,1,0,1"
Text="МХ"
BackgroundColor="#1d3d60"/>
</Grid>
</CollectionView.Header>
<!-- Table -->
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid BackgroundColor="#1d3d60" ColumnSpacing="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackLayout Grid.Row="0" Grid.Column="0">
<Label Text="{Binding MaterialNumber}" />
</StackLayout>
<StackLayout Grid.Row="0" Grid.Column="1">
<Label Text="{Binding ConsumeDate}" />
<Label Text="{Binding ConsumeTime}" />
</StackLayout>
<StackLayout Grid.Row="0" Grid.Column="2">
<Label Text="{Binding StorlocType}" />
</StackLayout>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="CommonStates">
<VisualState Name="Normal" />
<VisualState Name="Selected">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Green" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
