Двойной/мульти монитор с сенсорным экраном
Притворись, что у меня 2 монитора. Первичный дисплей - это обычный ПК для настольных ПК, другой - сенсорный. Когда я загружаю программу (WinForm, WPF,...), она будет загружаться на основной монитор.
Вопрос: если я заменю программу на сенсорный экран, как я могу узнать, включен ли текущий экран/дисплей/монитор сенсорным экраном или сенсорный экран?
Другими словами, как я могу определить текущий экран/дисплей/монитор и его настройки?
До сих пор я работал с классом Screen
(Windows.Forms), Tablet
Class (Windows.Input) и DLLImport
пользователя User32.dll(GetSystemMetrics()). Ни один из них или их комбинация не работает.
Я хочу найти что-то вроде: Monitor.Current.IsTouch
или Display.CurrentDisplay.TouchEnabled
Ответы
Ответ 1
У меня нет сенсорного экрана, чтобы проверить это, но вы, вероятно, можете использовать System.Windows.Input.Tablet для перечисления через статическое свойство TabletDevices, Свойство ActiveSource можно сравнить с PresentationSource.FromVisual чтобы узнать, находится ли ваш UIElement на TabletDevice. Это может быть не идеально, я не привык к использованию этих классов, но это должно привести вас к правильному пути. TabletDevices также имеют свойство Name, которое вы можете сравнить с System.Windows.Forms.Screen.DeviceName.