Robię aplikację Windows Store w języku C# i mam normalny TextBlock z łączem w środku. I wszystko, co chcę zrobić, aby zmienić kursor w dłoń, gdy przechodzi przez blok tekstu, ale w przeciwieństwie do aplikacji WPF, nie ma żadnej właściwości. Wiem, że jest to klasa CoreCursor w Windows.UI.Core
. Czy mam go jakoś wykorzystać?Zmiana kursora w aplikacjach Windows Store
Odpowiedz
Window.Current.CoreWindow.PointerCursor =
new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand, 1);
WinRT XAML Toolkit posiada załączony właściwość, że działa prawie tak samo jak własność Cursor
w WPF tym, że kursor ustawić dla danego elementu, a więc wtedy, gdy kursor myszy znajdzie się na szczycie tego elementu - kursor zmiany w tym, co właściwość określa i kiedy opuszcza kontrolę - przywraca poprzedni kursor. Są to w rzeczywistości dwie właściwości - jeden o nazwie FrameworkElementExtensions.SystemCursor
które ma żadnego standardowego kursora z CoreCursorType enum, który po prostu użyć jak w this sample page - zestaw
<Border
xmlns:Extensions="using:WinRTXamlToolkit.Controls.Extensions"
Extensions:FrameworkElementExtensions.SystemCursor="Cross"/>
Drugi - FrameworkElementExtensions.Cursor
pozwala ustawić dowolny niestandardowy kursora, ale wierzę, musisz ustawić go w kodzie z tyłu jak FrameworkElementExtensions.SetCursor(myElement, myCursor);
lub powiązać z właściwością kursora ustawioną gdzie indziej.
Można również użyć niestandardowych kursorów. Musisz zdefiniować kursor w rodzimej bibliotece zasobów, jak opisano w artykule this article, a następnie powinieneś być w stanie ustawić je globalnie, ustawiając właściwość Window.Current.CoreWindow.PointerCursor
lub z dołączoną właściwością, taką jak moja FrameworkElementExtensions.Cursor
.
W przypadku, gdy ludzie nie mogą odgadnąć przestrzeni nazw: 'Windows.UI.Xaml.Window.Current.CoreWindow.PointerCursor = new WindowsUI.Core.CoreCursor (Windows.UI.Core.CoreCursorType.Hand, 1) ; ' –
czy nie ma możliwości zrobienia tego przez xaml –