在Windows Store应用中更改光标

15

我正在使用C#制作Windows商店应用程序,其中有一个普通的TextBlock,里面包含一个链接。 我想要做的就是当鼠标移到文本块上时将其光标更改为手形,但与WPF应用程序不同,没有Cursor属性。 我知道在Windows.UI.Core中有一个CoreCursor类。 我应该如何使用它?

2个回答

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

有没有办法通过XAML来实现它? - Rahul Sonone

2

WinRT XAML工具包具有一个附加属性,其工作方式与WPF中的Cursor属性几乎相同,您可以为元素设置光标,因此当鼠标悬停在该元素上方时,光标会更改为属性指定的内容,并且当光标离开控件边界时,它将恢复先前的光标。实际上有两个属性 - 一个称为FrameworkElementExtensions.SystemCursor,它使用CoreCursorType枚举中的任何标准光标,就像在此示例页面中所示 - 设置

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

另一个 - FrameworkElementExtensions.Cursor 允许您设置任何自定义光标,但我认为您需要在代码后台中进行设置,例如 FrameworkElementExtensions.SetCursor(myElement, myCursor); 或绑定到其他位置设置的光标属性。
您也可以使用自定义光标。 您需要在本地资源库中定义光标,如本文中所述,然后您应该能够通过设置 Window.Current.CoreWindow.PointerCursor 属性或使用类似我的 FrameworkElementExtensions.Cursor 的附加属性来全局设置它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接