如何将此图标的颜色绑定到此标签颜色?

How can I bind this Icon's Color to this Label Color?

如下所示,FlyoutItem 有一个图标和一个 Title

    <FlyoutItem Title="About" >
        <FlyoutItem.Icon>
            <FontImageSource FontFamily="MaterialDesignIconFont"
                            Glyph="{StaticResource InformationOutlineGlyph}"
                            Color="Green" />
        </FlyoutItem.Icon>

        <ShellContent Route="AboutPage" ContentTemplate="{DataTemplate local:AboutPage}" />
    </FlyoutItem>

Title 颜色因此自动改变 Style:

<Style Class="FlyoutItemLayoutStyle" TargetType="Layout" ApplyToDerivedTypes="True">
    <Setter Property="BackgroundColor" Value="LightBlue"></Setter>
    <Setter Property="VisualStateManager.VisualStateGroups">
        <VisualStateGroupList>
            <VisualStateGroup x:Name="CommonStates">
                <VisualState x:Name="Normal">
                    <VisualState.Setters>
                        <Setter Property="BackgroundColor" Value="White" />
                        <Setter TargetName="FlyoutItemLabel" Property="Label.TextColor" Value="{StaticResource PrimaryColor}" />
                    </VisualState.Setters>
                </VisualState>
                <VisualState x:Name="Selected">
                    <VisualState.Setters>
                        <Setter Property="BackgroundColor" Value="{StaticResource PrimaryColor}" />
                    </VisualState.Setters>
                </VisualState>
            </VisualStateGroup>
        </VisualStateGroupList>
    </Setter>
</Style>

因此 LabelTitle 会在选择 FlyoutItem 时自动更改颜色。我需要 Icon 来做同样的事情。我 可以 使用触发器来设置 FontImageSource 但这有其自身的问题。

鉴于上述 Style 中的 TargetName“FlyoutItemLabel”,是否可以创建从 FontImageSource.Color 到每个 FlyoutItem 的 [=25] 的绑定=]?它必须向上绑定到 FlyoutItem 祖先,然后向下绑定到 <Label x:Name="FlyoutItemLabel" />,不是吗?

您可以根据需要设置 FlyoutItem[ItemTemplate][1]

<Shell.ItemTemplate>
        <DataTemplate >
            <Grid Style="{StaticResource FloutItemStyle}">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.2*" />
                    <ColumnDefinition Width="0.8*" />
                </Grid.ColumnDefinitions>
                <Image Source="{Binding xxx}"
        Margin="5"
        BackgroundColor="{Binding Source={x:Reference label} ,Path=BackgroundColor}"
        HeightRequest="45" />
                <Label Grid.Column="1"
                       x:Name="label"
                       BackgroundColor="Red"
        Text="{Binding Title}"
        FontAttributes="Italic"
        VerticalTextAlignment="Center" />
            </Grid>
        </DataTemplate>
    </Shell.ItemTemplate>