FrameworkElement.Cursor Propriedade

Definição

Recebe ou define o cursor que aparece quando o ponteiro do rato está sobre este elemento.

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

Valor de Propriedade

O cursor para mostrar. O valor padrão é definido de acordo null com esta propriedade de dependência. No entanto, o padrão prático em tempo de execução virá de vários fatores.

Exemplos

O exemplo seguinte mostra como definir deliberadamente o gráfico do cursor.

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

Observações

Quando defines esta propriedade em XAML, o processador XAML depende da conversão de tipos para a Cursor classe avaliar a string. A cadeia fornecida deve avaliar até um CursorType valor. Consulte Cursor para obter detalhes.

Se o cursor, tal como estabelecido por esta propriedade, irá ou não aparecer quando o ponteiro do rato estiver sobre este elemento também depende do valor da ForceCursor propriedade. Além disso, considerações relacionadas com eventos, como arrastar ativo, captura do rato, modos de edição de texto dentro dos controlos, e assim por diante, também afetarão o cursor com prioridade superior ao valor que especifica nesta propriedade.

Para reverter o comportamento de definir esta propriedade para o padrão eventual, defina-a novamente.null

O null padrão significa realmente que a determinação do valor prático do cursor é adiada aqui e deve ser obtida noutro local. Se apresentado sem valores programáticos de qualquer fonte, o cursor padrão que está visualmente sobre uma aplicação do Windows Presentation Foundation (WPF) será uma seta. No entanto, as alterações transitórias do cursor não são definidas para os Cursor valores dos elementos quando estes são ignorados. A Cursor propriedade só reporta valores não nulos nos casos em que foi realmente definida, por exemplo através de código ou de um estilo. Cada movimento do rato numa aplicação WPF gera um evento QueryCursor. O evento faz bolhas, e qualquer elemento ao longo da rota tem a oportunidade de lidar com o evento e de definir o valor do cursor através dos argumentos desse evento. Este é o mecanismo que produz o cursor visualmente aparente na maioria dos casos. Se um QueryCursor manipulador devolver um resultado do cursor, então o facto de o evento ser tratado e ter um valor alterado nos argumentos tem precedência sobre o valor da Cursor propriedade em qualquer nível, a menos que ForceCursor esteja definido.

Se não estiveres a criar um cursor personalizado, normalmente defines esta propriedade para um valor estático da Cursors classe. Definir Cursor no código exige uma das seguintes exigências:

  • Chama o Cursor construtor para obter uma Cursor instância. Ambas as assinaturas do Cursor construtor usam fluxos ou ficheiros, antecipando que está a criar o Cursor objeto para um cursor personalizado.

  • Use a CursorConverter classe e o seu ConvertFrom método para especificar um cursor por CursorType, ou uma cadeia que possa avaliar para , CursorTypee conjurar o retorno para Cursor.

Definir o Cursor para um valor personalizado não está ativado na confiança parcial. Para mais informações sobre cursores personalizados, consulte Visão Geral de Entrada.

Informação de Propriedade de Dependência

Iteme Value
Campo identificador CursorProperty
Propriedades dos metadados definidas como true None

Aplica-se a

Ver também