Скрыть курсор или установить собственный курсор в Windows 8 Metro

Я хочу знать, есть ли способ скрыть курсор в режиме Windows 8 Metro. Я нашел этот ответ, но тогда я не знаю, как получить «уникальный идентификатор ресурса» для второго параметра конструктор курсора (ниже).

Window.Current.CoreWindow.PointerCursor = 
                new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Custom, 1);

РЕДАКТИРОВАТЬ: Забыл упомянуть, что мне нужно нормально обрабатывать события мыши, поэтому ответа ниже установки курсора на ноль будет недостаточно.


person XiaoChuan Yu    schedule 27.02.2012    source источник


Ответы (2)


Установите курсор на пользовательский курсор, но сделайте его пустым ... это позволяет вам отслеживать его, как обычный курсор.

person Peter    schedule 01.11.2012

Вы можете установить для объекта PointerCursor значение NULL. Однако, как только вы переместите что-то вроде текстового поля, оно вернет его обратно. Таким образом, вам, вероятно, потребуется обработать указатель мыши на событиях на различных элементах управления, чтобы скрыть их. Все это зависит от вашего сложного сценария.

Кроме того, перед установкой значения NULL вы можете сохранить значение свойства (PointerCursor), а затем, когда вы закончите, вернуть его обратно.

person Bob Delavan    schedule 27.02.2012
comment
Я уже пробовал это, прежде чем задавать этот вопрос. Я забыл сказать, что мне нужно обрабатывать события нормально, как если бы у вас был курсор. Вот почему я попытался установить собственный прозрачный курсор. Тем не менее, спасибо за ответ. - person XiaoChuan Yu; 28.02.2012
comment
Конечно, рад помочь. Можете ли вы уточнить, что вы подразумеваете под обычной обработкой событий мыши? Что касается того, что я предложил, это все равно позволит вам обрабатывать события, я просто сказал, что вам нужно будет дополнительно обработать, например, в текстовом поле, PointerEntered, а затем снова установить курсор на null или что-то в этом роде. Вы ищете что-то более глобальное и постоянное, где бы вам не пришлось заниматься какими-либо будущими событиями? - person Bob Delavan; 28.02.2012
comment
После того, как я установил для объекта PointerCursor значение NULL, я могу получать только события нажатия и выпуска, но не событие PointerMoved (которое мне нужно). Я думаю, что установка курсора на ноль - это скорее взлом, чем решение. - person XiaoChuan Yu; 28.02.2012