C# 将光标悬停在地图元素上时更改指针光标

C# 将光标悬停在地图元素上时更改指针光标,c#,uwp,uwp-xaml,uwp-maps,C#,Uwp,Uwp Xaml,Uwp Maps,我的UWP应用程序包含一个带有多个POI的映射。当鼠标悬停在特定的poi上时,我试图将鼠标光标从箭头改为手形,以指示其可点击 这将在光标进入地图后立即更改光标。作为一个简单的测试,我为mapcontrol添加了一个PointerEntered事件,在该事件中,我有以下更改光标的方法: Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Ha

我的UWP应用程序包含一个带有多个POI的映射。当鼠标悬停在特定的poi上时,我试图将鼠标光标从箭头改为手形,以指示其可点击

这将在光标进入地图后立即更改光标。作为一个简单的测试,我为mapcontrol添加了一个PointerEntered事件,在该事件中,我有以下更改光标的方法:

 Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand, 0);
虽然光标确实发生了更改,但它会立即被重写回指针光标


编辑:单击(即选择)poi时,光标将变为手形,即使未在地图控件上,直到取消选择poi为止。不好,因为我希望光标悬停在poi上时动态更改,移动后恢复为光标。

我不知道它是否与WinForms一样工作,我必须这样做才能单击标签(不能使用链接标签),我使用的是标签的鼠标移动事件,基本上是

if (Cursor.Current == Cursors.Default)
{
    Cursor.Current = Cursors.Hand;
}
以及因各种条件而产生的类似变化和行为。然而,这给我带来了一个小问题:这个语句会在你在控件上移动时更改鼠标图形,但就我个人而言,在Windows设置中,我使用鼠标的轨迹图形功能(每当我在屏幕上移动鼠标时,都会留下指针的轨迹),我建议你禁用这个功能,或者更好的是,它会隐藏它,因为它在控件上的每次移动都会“重新创建”鼠标图形,因此它会“撤消”鼠标图形,并将其作为手(在我的示例中)重新创建。不过,如果与您无关,它也可以正常工作。
我重复我自己:我在WinForms上使用这个,但是因为它是C,我想它只会工作(?)

我不知道它是否和WinForms一样工作,我必须做类似的事情来点击标签(不能使用链接标签),我使用的是标签的鼠标移动事件,基本上是

if (Cursor.Current == Cursors.Default)
{
    Cursor.Current = Cursors.Hand;
}
但是,这给我带来了一个小问题:在控件上移动时,此语句会更改鼠标图形,但在Windows设置中,我个人使用鼠标的轨迹图形功能(每当我在屏幕上移动鼠标时,都会留下指针的轨迹),我建议您禁用此功能,或者更好,它会隐藏它,因为它会为您在控件上的每次移动“重新创建”鼠标图形,因此它会“撤消”鼠标图形,并将其作为手重新创建(在我的示例中)。但如果与您无关,它也可以正常工作。 我重复一次:我在WinForms上使用这个,但是因为它是C#我想它只会工作(?)

将光标悬停在地图元素上时更改指针光标

很抱歉,您无法编辑map元素的默认光标,因为它已在内部处理,不会触发,即使您有listen
PointerEntered
事件,也会被控件消耗,而不会传递到控件链上。如果您确实需要此功能,更好的方法是使用windows feed backhub应用程序发布此功能

将光标悬停在地图元素上时更改指针光标


恐怕您无法编辑map元素的默认光标,因为它已在内部处理,不会触发,即使您有listen
PointerEntered
事件,它也会被控件消耗,而不会传递到控件链上。如果您确实需要此功能,更好的方法是使用windows feed backhub应用程序发布此功能。

添加了check就像你在例子中看到的一样,但与我在上面的例子中看到的行为没有区别。添加了一个检查,就像你在例子中看到的一样,但与我在上面的例子中看到的行为没有区别。