【问题标题】:How to disable high contrast mode for UWP application如何禁用 UWP 应用程序的高对比度模式
【发布时间】:2023-03-26 09:33:01
【问题描述】:

最近,我们的应用程序的一些用户开始抱怨它没有正确呈现。他们发送的视频显示所有颜色均已关闭,并且该应用程序中的视频已被隐藏。经过大量的排查,我们终于发现这些用户将他们的机器设置为高对比度显示模式,而我们的应用程序没有能力处理它。也就是说,编写一个全新的主题来处理高对比度模式是不可能的。这是一个太大的重构,无法在短期内完成。

我进行了一些研究,发现有一种方法至少可以检测何时应用高对比度模式。我们的应用是 JavaScript UWP,因此使用 WinRT 我们可以检查模式是否开启,如下所示:

const highContrastOn = Windows.UI.ViewManagement.AccessibilitySettings().highContrast;

我们还可以检查正在使用的主题并设置事件以对更改采取行动。

AccessibilitySettings 类的文档位于此处:

https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.accessibilitysettings?view=winrt-19041

但是,我无法弄清楚我们是否可以为我们的应用禁用这种渲染。我们从未想过必须为它建立支持,如果我们决定这样做,这将是一项重大任务。有没有什么方法可以使用 WinRT 或者一些浏览器的方法来通知系统我们不支持高对比度?

【问题讨论】:

    标签: javascript c# uwp


    【解决方案1】:

    我们找到了一个解决方案,只需要少量的 CSS。

      body {
        -ms-high-contrast-adjust: none;
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 2021-08-19
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      相关资源
      最近更新 更多