在 UWP 上自动适合 ContentDialog RequestedTheme 加载事件?

Fit ContentDialog RequestedTheme On Load Event Automatically on UWP?

如何在 UWP 上使用与全局主题设置(深色或浅色)相同的代码自动将 ContentDialog RequestedTheme 设置为加载事件?我使用了这个技巧,但它没有效果:

private void ContentDialog_Loading(FrameworkElement sender, object args)
        {
           string device = Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily; // (Mobile, Team(Surface Hub), Desktop, IoT. Device types.
 if (device == "Windows.Mobile") // If it is a phone
            {


       RequestedTheme = ElementTheme.Default; // Enable automatic theming in mobile.

            }
        }

谢谢。

我认为您是在应用 Applicaition.RequestedTheme 之后的 运行 时间指定主题值,例如:

contentDialog.RequestedTheme = ElementTheme.Default;

如您在 ElementTheme enumeration 中所见,当您将其设置为 Default 时,它使用元素的 Application.RequestedTheme 值。

所以我认为在您的代码中的某处,当您在移动设备上 运行 您的代码时,您已将 Application.RequestedTheme 设置为 Dark

要使 ContentDialog 的主题或应用程序的主题根据用户的设置而变化,默认情况下您只需删除 [=31= 中的 RequestedTheme="Dark"RequestedTheme="Light" ] 文件,不要在后面的代码中设置任何 Application.RequestedTheme 。没有必要将 ElementTheme 应用到 ContentDialog 除非你想改变它的主题不同于设置。