FrameworkElement.Cursor Egenskap

Definition

Hämtar eller anger markören som visas när muspekaren är över det här elementet.

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

Egenskapsvärde

Markören som ska visas. Standardvärdet definieras enligt null den här beroendeegenskapen. Det praktiska standardvärdet vid körning kommer dock från en mängd olika faktorer.

Exempel

I följande exempel visas hur du avsiktligt anger markörgrafiken.

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

Kommentarer

När du anger den här egenskapen i XAML förlitar sig XAML-processorn på typkonvertering för klassen för Cursor att utvärdera strängen. Den angivna strängen bör utvärderas till ett CursorType värde. Se Cursor för mer information.

Om markören enligt den här egenskapen visas eller inte när muspekaren är över det här elementet är också beroende av egenskapens ForceCursor värde. Händelserelaterade överväganden, till exempel aktiv dra, musinspelning, textredigeringslägen i kontroller och så vidare, påverkar också markören med högre prioritet än det värde som du anger i den här egenskapen.

Om du vill återställa beteendet för att ställa in den här egenskapen till den slutliga standardinställningen anger du den till null igen.

Standardvärdet null innebär verkligen att bestämning av det praktiska markörens värde skjuts upp här och bör erhållas från andra platser. Om den visas utan programmässiga värden från någon källa är standardmarkören som visas visuellt över ett Windows Presentation Foundation-program (WPF) en pil. De tillfälliga markörens ändringar är dock inte inställda på Cursor värdena för elementen när de skickas över. Egenskapen Cursor rapporterar endast icke-null-värden i fall där den faktiskt har angetts, till exempel via kod eller ett format. Varje rörelse av musen över ett WPF program genererar en QueryCursor händelse. Händelsebubblorna och alla element längs vägen har möjlighet att hantera händelsen och ange markörens värde genom argumenten för den här händelsen. Det här är den mekanism som i de flesta fall ger den visuellt synliga markören. Om en QueryCursor hanterare returnerar ett markörresultat har det faktum att händelsen hanteras och har ett ändrat värde i argumenten företräde framför värdet Cursor för egenskapen på vilken nivå som helst, såvida inte ForceCursor anges.

Om du inte skapar en anpassad markör anger du vanligtvis den här egenskapen till ett statiskt egenskapsvärde för Cursors klassen. Inställningen Cursor i kod kräver något av följande:

  • Cursor Anropa konstruktorn för att hämta en Cursor instans. Konstruktorns båda signaturer Cursor använder strömmar eller filer i väntan på att du skapar Cursor objektet för en anpassad markör.

  • CursorConverter Använd klassen och dess ConvertFrom metod för att ange en markör efter CursorType, eller en sträng som kan utvärderas till en CursorTypeoch omvandla returen till Cursor.

Cursor Att ange ett anpassat värde är inte aktiverat i partiellt förtroende. Mer information om anpassade markörer finns i Indataöversikt.

Information om beroendeegenskap

Objekt Value
Identifierarfält CursorProperty
Metadataegenskaper inställda på true Ingen

Gäller för

Se även