FrameworkElement.Cursor Propriété

Définition

Obtient ou définit le curseur qui s'affiche lorsque le pointeur de la souris est sur cet élément.

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

Valeur de propriété

Curseur à afficher. La valeur par défaut est null conformément à cette propriété de dépendance. Toutefois, la valeur pratique par défaut au moment de l’exécution provient de divers facteurs.

Exemples

L’exemple suivant montre comment définir délibérément le graphique du curseur.

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 == false)
        {
            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

Remarques

Lorsque vous définissez cette propriété en XAML, le processeur XAML s’appuie sur la conversion de type pour la Cursor classe afin d’évaluer la chaîne. La chaîne fournie doit être évaluée à une CursorType valeur. Pour plus d'informations, consultez Cursor.

Le fait que le curseur tel qu’établi par cette propriété s’affiche ou ne s’affiche pas lorsque le pointeur de la souris se trouve sur cet élément dépend également de la valeur de la ForceCursor propriété. En outre, les considérations liées aux événements, telles qu’un glisser-glisser actif, la capture de la souris, les modes d’édition de texte dans les contrôles, etc., affecteront également le curseur avec une priorité plus élevée que la valeur que vous spécifiez dans cette propriété.

Pour rétablir le comportement de la définition de cette propriété sur la valeur par défaut éventuelle, définissez-la à nouveau sur null .

La null valeur par défaut signifie vraiment que la détermination de la valeur pratique du curseur est différée ici et doit être obtenue d’ailleurs. S’il est présenté sans valeurs programmatiques provenant d’une source quelconque, le curseur par défaut qui se trouve visuellement sur une application Windows Presentation Foundation (WPF) sera une flèche. Toutefois, les modifications temporaires du curseur ne sont pas définies sur les Cursor valeurs des éléments lorsqu’ils sont passés. La Cursor propriété signale uniquement les valeurs non null dans les cas où elle a été réellement définie, pour instance par le biais d’un code ou d’un style. Chaque déplacement de la souris sur une application WPF déclenche un QueryCursor événement. Les bulles d’événement et tout élément le long de l’itinéraire ont la possibilité de gérer l’événement et de définir la valeur du curseur à l’aide des arguments de cet événement. Il s’agit du mécanisme qui produit le curseur visuel apparent dans la plupart des cas. Si un QueryCursor gestionnaire retourne un résultat de curseur, le fait que l’événement soit géré et ait une valeur modifiée dans les arguments est prioritaire sur la valeur de la Cursor propriété à n’importe quel niveau, sauf si ForceCursor est défini.

Si vous ne créez pas de curseur personnalisé, vous définissez généralement cette propriété sur une valeur de propriété statique de la Cursors classe . La définition Cursor dans le code nécessite l’une des opérations suivantes :

  • Appelez le Cursor constructeur pour obtenir un Cursor instance. Les deux signatures du Cursor constructeur utilisent des flux ou des fichiers, en prévision de la création de l’objet Cursor pour un curseur personnalisé.

  • Utilisez la CursorConverter classe et sa ConvertFrom méthode pour spécifier un curseur par CursorType, ou une chaîne qui peut évaluer en , CursorTypeet caster le retour en Cursor.

La définition de sur Cursor une valeur personnalisée n’est pas activée en approbation partielle. Pour plus d’informations sur les curseurs personnalisés, consultez Vue d’ensemble des entrées.

Informations sur les propriétés de dépendance

Champ Identificateur CursorProperty
Propriétés de métadonnées définies sur true Aucun

S’applique à

Voir aussi