.Net Maui CollectionView 所选项目未突出显示

问题描述 投票:0回答:1

我创建了一个类似于数据表的集合视图,除了所选项目突出显示外,一切正常。我尝试使用视觉状态管理器更改颜色,但仍然没有任何效果。我是为 Windows 应用程序设计的,所以我只担心它在 Windows 上的工作情况。所选项目仍在工作,只是没有突出显示。我做错了什么?

<CollectionView
    x:Name="CollectionOfItems"
    ItemsSource="{Binding Items}"
    Header="{Binding .}"
    Grid.Row="2"
    Grid.Column="0"
    BackgroundColor="Grey"
    Margin="20,0,0,0"
    WidthRequest="1750"
    HorizontalOptions="Start"
    VerticalOptions="Start"
    SelectionMode="Single"
    SelectedItem="{Binding SelectedItem}">

    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup Name="CommonStates">
            <VisualState Name="Normal"></VisualState>
            <VisualState Name="Selected">
                <VisualState.Setters>
                    <Setter Property="BackgroundColor" Value="LightBlue"></Setter>
                </VisualState.Setters>
            </VisualState>
        </VisualStateGroup>

    </VisualStateManager.VisualStateGroups>
    
    <CollectionView.ItemTemplate>
        <DataTemplate x:DataType="m:Item">
            <Grid
                Margin="0"
                RowDefinitions="*"
                ColumnDefinitions="*,*,*,*,*">

                <Frame 
                    x:Name="SerialNumberFrame"
                    CornerRadius="0"
                    BorderColor="Black"
                    Grid.Column="0"
                    BackgroundColor="white">
                    <Label 
                        Text="{Binding SerialNumber}"
                        HorizontalOptions="Start">
                    </Label>
                </Frame>

                <Frame 
                    CornerRadius="0"
                    BorderColor="Black"
                    BackgroundColor="LightGrey"
                    Grid.Column="1">
                    <Label 
                        Text="{Binding ItemType.Text}"
                        HorizontalOptions="Start">
                    </Label>
                </Frame>

                <Frame 
                    CornerRadius="0"
                    BorderColor="Black"
                    BackgroundColor="white"
                    Grid.Column="2">
                    <Label 
                        Text="{Binding HasAllComponents.Text}"
                        HorizontalOptions="Start">
                    </Label>
                </Frame>

                <Frame 
                    CornerRadius="0"
                    BorderColor="Black"
                    BackgroundColor="LightGrey"
                    Grid.Column="3">
                    <Label 
                        Text="{Binding MissionCapable.Text}"
                        HorizontalOptions="Start">
                    </Label>
                </Frame>

                <Frame 
                    CornerRadius="0"
                    BorderColor="Black"
                    BackgroundColor="White"
                    Grid.Column="4">
                    <Label 
                        Text="{Binding CheckedOut.Text}"
                        HorizontalOptions="Start">
                    </Label>
                </Frame>
            </Grid>
        </DataTemplate>
    </CollectionView.ItemTemplate>
</CollectionView>

我尝试过使用视觉状态管理器。我还是个新手,不太确定还能尝试什么。据我所知,所选项目应该会自动突出显示。

c# .net xaml maui collectionview
1个回答
0
投票

我终于明白了。我必须将网格背景颜色更改为白色,然后将框架的背景颜色更改为透明,以便我可以看到它们下面突出显示的颜色。我希望有一种方法可以突出显示框架的上方,但这可行。

© www.soinside.com 2019 - 2024. All rights reserved.