Изменить курсор в Windows Store Apps - PullRequest
15 голосов
/ 19 сентября 2011

Я делаю приложение для Магазина Windows на C #, и у меня есть обычный TextBlock со ссылкой внутри.И все, что я хочу сделать, чтобы курсор переместился в руку, когда он проходит над текстовым блоком, но в отличие от приложений WPF, Cursor не существует.Я знаю, что CoreCursor класс в Windows.UI.Core.Я предполагаю использовать это как-то?

Ответы [ 2 ]

28 голосов
/ 19 октября 2011
Window.Current.CoreWindow.PointerCursor = 
    new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand, 1);
2 голосов
/ 09 сентября 2014

WinRT XAML Toolkit имеет вложенное свойство, которое работает примерно так же, как свойство Cursor в WPF, в котором вы устанавливаете курсор для элемента и, таким образом, когда курсор мыши находится над этим элементом - курсор меняется на что указывает свойство и когда оно покидает границы элемента управления - оно восстанавливает предыдущий курсор. На самом деле есть два свойства - одно называется FrameworkElementExtensions.SystemCursor, которое берет любой стандартный курсор из перечисления CoreCursorType , которое вы просто используете, как в этом примере страницы - установите

<Border
    xmlns:Extensions="using:WinRTXamlToolkit.Controls.Extensions"
    Extensions:FrameworkElementExtensions.SystemCursor="Cross"/>

Другой - FrameworkElementExtensions.Cursor позволяет вам установить любой пользовательский курсор, но я считаю, что вам нужно установить его в коде, например FrameworkElementExtensions.SetCursor(myElement, myCursor);, или связать со свойством курсора, установленным в другом месте.

Вы также можете использовать пользовательские курсоры. Вам нужно определить курсор в собственной библиотеке ресурсов, как описано в этой статье , и тогда вы сможете установить их глобально, установив свойство Window.Current.CoreWindow.PointerCursor, или с прикрепленным свойством, таким как my FrameworkElementExtensions.Cursor.

...