在 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
除非你想改变它的主题不同于设置。
如何在 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
除非你想改变它的主题不同于设置。