Sdílet prostřednictvím


FrameworkElement.Cursor Vlastnost

Definice

Získá nebo nastaví kurzor, který se zobrazí, když je ukazatel myši nad tímto prvkem.

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

Hodnota vlastnosti

Kurzor, který se má zobrazit. Výchozí hodnota je definována podle null této vlastnosti závislosti. Praktické výchozí nastavení v době běhu ale bude pocházet z různých faktorů.

Příklady

Následující příklad ukazuje, jak záměrně nastavit kurzor grafiku.

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

Poznámky

Při nastavení této vlastnosti v XAML procesor XAML spoléhá na převod typu třídy Cursor k vyhodnocení řetězce. Zadaný řetězec by se měl vyhodnotit na CursorType hodnotu. Podrobnosti najdete v Cursor.

Zda kurzor vytvořený touto vlastností bude nebo nebude zobrazen, pokud je ukazatel myši nad tímto prvkem také závislý na hodnotě ForceCursor vlastnosti. Také aspekty související s událostmi, jako je aktivní přetažení, zachycení myši, režimy úprav textu v ovládacích prvcích atd., ovlivní také kurzor s vyšší prioritou než hodnota, kterou zadáte v této vlastnosti.

Chcete-li vrátit chování nastavení této vlastnosti na konečné výchozí nastavení, nastavte ji znovu.null

Výchozí null hodnota ve skutečnosti znamená, že určení praktické hodnoty kurzoru je zde odloženo a mělo by být získáno odjinud. Pokud se zobrazí bez programových hodnot z jakéhokoli zdroje, výchozí kurzor, který je vizuálně přes aplikaci Windows Presentation Foundation (WPF), bude šipka. Přechodné změny kurzoru však nejsou nastaveny na Cursor hodnoty prvků při jejich předání. Vlastnost Cursor bude hlásit pouze nenulové hodnoty v případech, kdy byla skutečně nastavena, například prostřednictvím kódu nebo stylu. Každý pohyb myši nad aplikací WPF vyvolá QueryCursor událost. Bubliny událostí a jakýkoli prvek podél trasy má příležitost zpracovat událost a nastavit hodnotu kurzoru prostřednictvím argumentů této události. Jedná se o mechanismus, který ve většině případů vytváří vizuálně zjevný kurzor. Pokud obslužná rutina QueryCursor vrátí výsledek kurzoru, pak skutečnost, že událost je zpracována a má změněnou hodnotu v argumentech, má přednost před hodnotou Cursor vlastnosti na libovolné úrovni, pokud ForceCursor není nastavena.

Pokud nevytvoříte vlastní kurzor, obvykle tuto vlastnost nastavíte na statickou hodnotu Cursors vlastnosti třídy. Nastavení Cursor v kódu vyžaduje jednu z následujících možností:

Cursor Nastavení vlastní hodnoty není povolené v částečném vztahu důvěryhodnosti. Další informace o vlastních kurzorech najdete v tématu Přehled vstupu.

Informace o vlastnosti závislosti

Položka Hodnota
Pole Identifikátor CursorProperty
Vlastnosti metadat nastavené na true None

Platí pro

Viz také