Последние несколько месяцев мы работали над приложением, предназначенным для планшетных ПК с Windows 7.Таким образом, мы использовали Surface 2 SDK для большинства элементов управления, и он полностью радует от прикосновения.
Недавно я заметил, что один из наших пользовательских элементов управления не работает должным образом.Этот элемент управления предоставляет всплывающие меню, и это достигается с помощью элемента управления Popup.На ноутбуке разработчика это работает нормально, и меню исчезают, когда вы нажимаете на них.Однако я заметил, что на нашем тестовом планшете они имеют тенденцию оставаться открытыми.
Я обнаружил, что в первом Surface SDK был SurfacePopup, но я не могу найти его в Surface 2SDK.Они избавились от этого?Есть ли подход «наилучшей практики»?
Если простого решения не существует, мне, возможно, придется перейти в старое учебное заведение и добавить скрытую кнопку SurfaceButton размером с окно под меню, когда оно появляется, которое скрывает себя и менюпри нажатии или касании.
Кроме того, я заметил, что иногда SurfaceScrollViewer во всплывающих окнах не работает.Я предполагаю, что это потому, что он не воспринимает события касания должным образом.Я попытался добавить этот метод расширения в окно ..
this.EnableSurfaceInput();
.. но я получаю исключение NullReferenceException для System.Windows.Input.Mouse.get_LeftButton()
, которое странным образом предполагает, что он может включать поверхностные входы для элементов управления только при подключенной мыши.
Есть идеи?Все они будут встречены с распростертыми объятиями!