2011-09-19 88 views
14

我正在C#中製作Windows應用商店應用程序,並且其中有一個正常的TextBlock。我想要做的只是當它移過文本塊時將光標變成一隻手,但與WPF應用程序不同的是,不存在適當的光標光標。我知道是CoreCursorWindows.UI.Core。我想以某種方式使用它?在Windows應用程序商店中更改光標

回答

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

如果用戶無法計算出名稱空間:Windows.UI.Xaml.Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand,1) ;' –

+0

有沒有辦法通過xaml來完成 –

0

的WinRT XAML工具包具有附加屬性的作品幾乎一樣,在WPF的Cursor屬性設置光標一個元素,所以當你的鼠標光標放在該元素的頂部徘徊 - 光標對屬性指定的內容以及何時離開控制邊界的更改 - 它將恢復以前的遊標。實際上有兩個屬性 - 一個叫FrameworkElementExtensions.SystemCursor這需要從CoreCursorType enum任何標準光標,你只需要使用像this sample page - 設置

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

另一種 - FrameworkElementExtensions.Cursor允許您設置任何自定義光標,但我相信您需要將其設置在代碼後面,如FrameworkElementExtensions.SetCursor(myElement, myCursor);或綁定到其他位置設置的遊標屬性。

您也可以使用自定義遊標。您需要按照this article中所述在本機資源庫中定義遊標,然後您應該可以通過設置Window.Current.CoreWindow.PointerCursor屬性或使用像我的FrameworkElementExtensions.Cursor這樣的附屬屬性來全局設置它們。