0

我有一个带有弹出窗口的 Xamarin Forms Shell 应用程序。我的条目是这样定义的:

<FlyoutItem Title="{x:Static resources:Strings.DashboardTitle}" FlyoutIcon="ic_dashboard_black">
    <Tab>
        <ShellContent>
            <dashboard:DashboardPage />
        </ShellContent>
    </Tab>
</FlyoutItem>

只要显示图标,这就是有效的。但是为了支持明暗主题,我希望能够将它与 AppThemeBinding 绑定。那可能吗?或者我将如何为浮出控件中的图标设置主题?

4

1 回答 1

1

您可以使用AppThemeBinding 标记扩展来定义明暗模式下的图像源:

<FlyoutItem Title="{x:Static resources:Strings.DashboardTitle}" FlyoutIcon="{AppThemeBinding Light=lightlogo.png, Dark=darklogo.png}">
    <Tab>
        <ShellContent>

        </ShellContent>
    </Tab>
</FlyoutItem>

Xamarin.Forms 必须满足以下要求才能响应系统主题更改:

  • Xamarin.Forms 4.6.0.967 或更高版本。
  • iOS 13 或更高版本。
  • Android 10 (API 29) 或更高版本。
  • UWP 内部版本 14393 或更高版本。

响应系统主题更改当前是实验性的,只能通过设置AppTheme_Experimental标志来使用。

参考:在平台项目中启用标志

于 2020-07-28T01:56:34.283 回答