xaml maui -更改弹出菜单中所选项目的颜色?

xlpyo6sf  于 2023-05-21  发布在  其他
关注(0)|答案(1)|浏览(185)

我有下面的代码块,将显示一个菜单项,如果触发

<Style  TargetType="FlyoutItem" x:Key="HomeFlyout">
        <Setter Property="FlyoutIcon" Value="home_icon.png" />
        <Style.Triggers>
            <Trigger TargetType="FlyoutItem"
                 Property="IsChecked" Value="False">
            </Trigger>
            <Trigger TargetType="FlyoutItem"
                 Property="IsChecked" Value="False">
                <!-- Code to triger background change -->
            </Trigger>
        </Style.Triggers>
    </Style>

以下代码块在弹出型项目中按以下方式使用。

<Application.MainPage>
        <Shell 
 
            <FlyoutItem Title="Home" Style="{StaticResource HomeFlyout}">
                <ShellContent Title="Home" ContentTemplate="{DataTemplate page:HomePage}" FlyoutItemIsVisible="True" />
            </FlyoutItem>

</Application.MainPage>
   </Shell

当前UI如下所示。

但是,我希望如果选中它,它会发生更改。例如(home是所选选项卡)

我试过的东西。
Setter Property="BackgroundColor" Value="LightBlue"
BackgroundColor="{Binding BackgroundColor}"
我怎么能做到这一点?

vojdkbi0

vojdkbi01#

您可以使用MauiWinUIApplication.Resources更改Windows平台的flyoutitem。
下面是windows文件夹中App.xaml的代码。

<maui:MauiWinUIApplication.Resources>
   
        <StaticResource x:Key="NavigationViewItemBackgroundSelected" ResourceKey="SystemControlHighlightListMediumBrush" />
        <StaticResource x:Key="NavigationViewItemBackgroundSelectedPointerOver" ResourceKey="SystemControlHighlightListMediumBrush" />
   
    <SolidColorBrush x:Key="SystemControlHighlightListMediumBrush" Color="red" />
 </maui:MauiWinUIApplication.Resources>

相关问题