鼠标悬停时光标不能在Windows App上运行

时间:2015-04-03 21:54:58

标签: c# wpf windows-store-apps

我正在使用C#开发Windows应用商店应用。

我试图在用户将鼠标悬停在矩形上时更改光标,但这会导致我出现问题。

这是我的代码:

Rectangle item = sender as Rectangle;
item.Cursor = Cursors.AppStarting;
mouseVerticalPosition = e.GetCurrentPoint(null).Position.Y;
mouseHorizontalPosition = e.GetCurrentPoint(null).Position.X;
isMouseCaptured = true;
item.CapturePointer(e.Pointer);

它说'Windows.UI.Xaml.Shapes.Rectangle' does not contain a definition for 'Cursor'

1 个答案:

答案 0 :(得分:1)

您将WPF与WinRT / XAML混淆。这些都是基于XAML的UI技术,但是在查看一些基本控件和属性时表面上看起来很相似 - 这些是完全独立的实现,一旦您开始查看详细信息,就会有很多差异。其中之一是Windows运行时中缺少Cursor属性。

您可以使用Window.Current.CoreWindow.PointerCursor属性来获取或设置当前窗口的光标。

您还可以使用我在WinRT XAML Toolkit here中编写的一些附加行为来获取类似于每个元素设置游标的WPF的API。您可以查看here示例,其中显示了如何在这样的元素上设置光标:

Extensions:FrameworkElementExtensions.SystemCursor="Arrow"