在Windows应用商店应用中更改光标

时间:2011-09-19 14:04:34

标签: c# windows-8 windows-runtime cursor winrt-xaml

我正在用C#创建一个Windows应用商店应用,我有一个普通的 TextBlock ,里面有一个链接。所有我想要做的就是当光标越过文本块时让光标变成一只手,但与WPF应用程序不同,没有 Cursor 的适当性。我知道Windows.UI.Core中的 CoreCursor 类。我想以某种方式使用它吗?

2 个答案:

答案 0 :(得分:28)

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

答案 1 :(得分:2)

WinRT XAML Toolkit有一个附加属性,与WPF中的Cursor属性大致相同,因为您为元素设置了游标,因此当鼠标光标悬停在该元素的顶部时 - 光标更改属性指定的内容以及何时离开控制边界 - 它将恢复上一个光标。实际上有两个属性 - 一个名为FrameworkElementExtensions.SystemCursor,可以从CoreCursorType enum获取任何标准光标,您只需使用this sample page - set

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

另一个 - FrameworkElementExtensions.Cursor允许您设置任何自定义光标,但我相信您需要在代码后面设置它,如FrameworkElementExtensions.SetCursor(myElement, myCursor);或绑定到其他地方设置的游标属性。

您还可以使用自定义光标。您需要按照this article中的描述在本机资源库中定义游标,然后您应该能够通过设置Window.Current.CoreWindow.PointerCursor属性或使用像{{3}这样的附加属性来全局设置它们。 }。