FrameworkElement.Cursor 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定滑鼠指標在此元素上方時所顯示的游標。
public:
property System::Windows::Input::Cursor ^ Cursor { System::Windows::Input::Cursor ^ get(); void set(System::Windows::Input::Cursor ^ value); };
public System.Windows.Input.Cursor Cursor { get; set; }
member this.Cursor : System.Windows.Input.Cursor with get, set
Public Property Cursor As Cursor
屬性值
要顯示的游標。 預設值依這個相依性屬性定義為 null
。 不過,執行階段的實際預設值會受各種因素影響。
範例
下列範例示範如何刻意設定游標圖形。
private void CursorTypeChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox source = e.Source as ComboBox;
if (source != null)
{
ComboBoxItem selectedCursor = source.SelectedItem as ComboBoxItem;
// Changing the cursor of the Border control
// by setting the Cursor property
switch (selectedCursor.Content.ToString())
{
case "AppStarting":
DisplayArea.Cursor = Cursors.AppStarting;
break;
case "ArrowCD":
DisplayArea.Cursor = Cursors.ArrowCD;
break;
case "Arrow":
DisplayArea.Cursor = Cursors.Arrow;
break;
case "Cross":
DisplayArea.Cursor = Cursors.Cross;
break;
case "HandCursor":
DisplayArea.Cursor = Cursors.Hand;
break;
case "Help":
DisplayArea.Cursor = Cursors.Help;
break;
case "IBeam":
DisplayArea.Cursor = Cursors.IBeam;
break;
case "No":
DisplayArea.Cursor = Cursors.No;
break;
case "None":
DisplayArea.Cursor = Cursors.None;
break;
case "Pen":
DisplayArea.Cursor = Cursors.Pen;
break;
case "ScrollSE":
DisplayArea.Cursor = Cursors.ScrollSE;
break;
case "ScrollWE":
DisplayArea.Cursor = Cursors.ScrollWE;
break;
case "SizeAll":
DisplayArea.Cursor = Cursors.SizeAll;
break;
case "SizeNESW":
DisplayArea.Cursor = Cursors.SizeNESW;
break;
case "SizeNS":
DisplayArea.Cursor = Cursors.SizeNS;
break;
case "SizeNWSE":
DisplayArea.Cursor = Cursors.SizeNWSE;
break;
case "SizeWE":
DisplayArea.Cursor = Cursors.SizeWE;
break;
case "UpArrow":
DisplayArea.Cursor = Cursors.UpArrow;
break;
case "WaitCursor":
DisplayArea.Cursor = Cursors.Wait;
break;
case "Custom":
DisplayArea.Cursor = CustomCursor;
break;
default:
break;
}
// If the cursor scope is set to the entire application
// Use OverrideCursor to force the cursor for all elements
if (!cursorScopeElementOnly)
{
Mouse.OverrideCursor = DisplayArea.Cursor;
}
}
}
' When the Radiobox changes, a new cursor type is set
Private Sub CursorTypeChanged(ByVal sender As Object, ByVal e As SelectionChangedEventArgs)
Dim item As String = CType(e.Source, ComboBox).SelectedItem.Content.ToString()
Select Case item
Case "AppStarting"
DisplayArea.Cursor = Cursors.AppStarting
Case "ArrowCD"
DisplayArea.Cursor = Cursors.ArrowCD
Case "Arrow"
DisplayArea.Cursor = Cursors.Arrow
Case "Cross"
DisplayArea.Cursor = Cursors.Cross
Case "HandCursor"
DisplayArea.Cursor = Cursors.Hand
Case "Help"
DisplayArea.Cursor = Cursors.Help
Case "IBeam"
DisplayArea.Cursor = Cursors.IBeam
Case "No"
DisplayArea.Cursor = Cursors.No
Case "None"
DisplayArea.Cursor = Cursors.None
Case "Pen"
DisplayArea.Cursor = Cursors.Pen
Case "ScrollSE"
DisplayArea.Cursor = Cursors.ScrollSE
Case "ScrollWE"
DisplayArea.Cursor = Cursors.ScrollWE
Case "SizeAll"
DisplayArea.Cursor = Cursors.SizeAll
Case "SizeNESW"
DisplayArea.Cursor = Cursors.SizeNESW
Case "SizeNS"
DisplayArea.Cursor = Cursors.SizeNS
Case "SizeNWSE"
DisplayArea.Cursor = Cursors.SizeNWSE
Case "SizeWE"
DisplayArea.Cursor = Cursors.SizeWE
Case "UpArrow"
DisplayArea.Cursor = Cursors.UpArrow
Case "WaitCursor"
DisplayArea.Cursor = Cursors.Wait
Case "Custom"
DisplayArea.Cursor = CustomCursor
End Select
' if the cursor scope is set to the entire application
' use OverrideCursor to force the cursor for all elements
If (cursorScopeElementOnly = False) Then
Mouse.OverrideCursor = DisplayArea.Cursor
End If
End Sub
備註
當您在 XAML 中設定此屬性時,XAML 處理器會依賴 類別的類型轉換 Cursor 來評估字串。 提供的字串應該評估為 CursorType 值。 如需詳細資訊,請參閱<Cursor>。
當滑鼠指標位於這個專案上方時,這個屬性所建立的資料指標是否會顯示,也會相依于 屬性的值 ForceCursor 。 此外,使用中拖曳、滑鼠擷取、控制項內的文字編輯模式等事件相關考慮也會影響優先順序高於您在此屬性中指定的值的資料指標。
若要將此屬性設定為最終預設值的行為,請再次將它設定為 null
。
預設值 null
實際上表示此處會延後實際資料指標值的判斷,而且應該從其他地方取得。 如果沒有從任何來源以程式設計方式顯示的值,則以視覺化方式在 WPF Windows Presentation Foundation () 應用程式上方顯示的預設資料指標將會是箭號。 不過,暫時性資料指標變更不會在傳遞時設定為 Cursor 元素的值。
Cursor屬性只會在實際設定時報告非 Null 值,例如透過程式碼或樣式。 在 WPF 應用程式上移動滑鼠的每個動作都會 QueryCursor 引發事件。 事件泡泡,以及路由上的任何專案有機會處理事件,並透過這個事件的引數來設定資料指標的值。 這是在大部分情況下產生視覺化明顯資料指標的機制。
QueryCursor如果處理常式傳回資料指標結果,則除非已設定,否則 ForceCursor 在 引數中具有已變更值的事實,會優先于任何層級的 Cursor 屬性值。
如果沒有建立自訂資料指標,您通常會將此屬性設定為 類別的 Cursors 靜態屬性值。 在程式碼中設定 Cursor 需要下列其中一項:
呼叫建構函式 Cursor 以取得 Cursor 實例。 建構函式的兩個 Cursor 簽章都會使用資料流程或檔案,預期您要為自訂資料指標建立 Cursor 物件。
CursorConverter使用 類別和其 ConvertFrom 方法,依 CursorType 指定資料指標,或可評估為 CursorType 的字串,並將傳回 Cursor 轉換成 。
未在部分信任中啟用將 Cursor 設定為自訂值。 如需自訂資料指標的詳細資訊,請參閱 輸入概觀。
相依性屬性資訊
識別碼欄位 | CursorProperty |
設定為 的中繼資料屬性 true |
無 |