Проблема при получении BrightnessLevel в приложениях UWP
Что-то странное для меня с BrightnessOverride. Я могу изменить уровень яркости и затем получить его новое значение, но, если я не изменю его, возвращается значение, равное нулю.
Код VB:
Private bo As BrightnessOverride
bo = BrightnessOverride.GetForCurrentView()
Debug.WriteLine(bo.BrightnessLevel) ' I get 0
bo.StartOverride()
Debug.WriteLine(bo.BrightnessLevel) ' I get 0
bo.SetBrightnessLevel(0.25, DisplayBrightnessOverrideOptions.None)
Debug.WriteLine(bo.BrightnessLevel) ' I get 0.25
Более того, невозможно прочитать (только прочитать) уровень яркости системы, даже если я добавлю возможность SystemManagement. Я получаю сообщение об ошибке, как и некоторые другие члены stackru.
Я сделал тот же тест с C#, и, конечно, та же проблема.
Поскольку некоторые члены stackru успешно получили правильное значение яркости несколько месяцев назад ( логика UWP: BrightnessOverride StartOverride), определенно кажется, что существует проблема с последней версией Windows и / или VS (2017).
1 ответ
Мы подали заявку на Github, вы можете проверить ее здесь:
https://github.com/MicrosoftDocs/winrt-api/issues/516
Если вы хотите получить текущую яркость из системы, вам понадобится настольный мост с настольным приложением для извлечения текущей яркости (в отличие от текущего переопределения) с использованием подхода win32: