XAML 如何更改应用程序 shell 选定选项卡的颜色,MAUI?

blmhpbnm  于 2022-12-16  发布在  Shell
关注(0)|答案(2)|浏览(229)

我正在使用.NET MAUI构建一个Windows应用程序,我有一个带有一些选项卡的弹出 shell 。我想更改选定项目的颜色,特别是显示在选定项目左侧的蓝色小条。shown here
我找不到任何改变这一点的东西,有人知道这是否有可能吗?
编辑:我已经尝试了下面的代码,并发挥了MenuItemTemplate,但我仍然不能改变选定项目上的蓝色小酒吧的颜色。

<Shell.MenuItemTemplate>
    <DataTemplate>
        <Grid ColumnDefinitions="0.2*,0.8*">
            <Image Source="home.png"
                   Margin="5"
                   HeightRequest="45"/>
            <Label Grid.Column="1"
                   Text="test"
                   FontAttributes="Italic"
                   VerticalTextAlignment="Center" 
                   />
            <Label Grid.Column="0"
                   Opacity="50"
                   BackgroundColor="Red"
                   />                
        </Grid>
    </DataTemplate>
</Shell.MenuItemTemplate>

此代码将产生以下结果:

7cjasjjr

7cjasjjr1#

您可以使用Shell.MenuItemTemplate自定义项目。

<Shell.MenuItemTemplate>
        <DataTemplate>
            <Grid ColumnDefinitions="0.2*,0.8*">
                <Image Source="{Binding Icon}"
                       Margin="5"
                       HeightRequest="45" />
                <Label Grid.Column="1"
                       Text="{Binding Text}"
                       FontAttributes="Italic"
                       VerticalTextAlignment="Center" />
            </Grid>
        </DataTemplate>
  </Shell.MenuItemTemplate>

  <Shell.Resources>
        <Style TargetType="Image" Class="FlyoutItemImageStyle">
            <Setter Property="Background"  
            Value="AliceBlue"></Setter>
        </Style>
  </Shell.Resources>

更多的信息你可以参考定义菜单项外观。另外,我找到一个样本,你可以检查这个How to set the Color of Icons in FlyoutItems in AppShell

hlswsv35

hlswsv352#

看起来这更像是一个风格问题。不看代码就很难帮助/回答你的问题。通常颜色值存储在XAML或CSS中(如果是blazor/razor)。更改颜色是完全可能的。

相关问题