Partilhar via


FrameworkElement.Cursor Propriedade

Definição

Obtém ou define o cursor exibido quando o ponteiro do mouse 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 da propriedade

O cursor a ser exibido. O valor padrão é definido como null por essa propriedade de dependência. No entanto, o padrão prático em tempo de execução virá de uma variedade de fatores.

Exemplos

O exemplo a seguir 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

Comentários

Quando você define essa propriedade em XAML, o processador XAML depende da conversão de tipo para a Cursor classe avaliar a cadeia de caracteres. A cadeia de caracteres fornecida deve ser avaliada como um CursorType valor. Para obter detalhes, consulte Cursor.

Se o cursor conforme estabelecido por essa propriedade será exibido ou não quando o ponteiro do mouse estiver sobre esse elemento também dependerá do valor da ForceCursor propriedade. Além disso, considerações relacionadas a eventos, como um arrastar ativo, captura de mouse, modos de edição de texto dentro de controles e assim por diante, também afetarão o cursor com prioridade mais alta do que o valor especificado nesta propriedade.

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

O null padrão realmente significa que a determinação do valor prático do cursor é adiada aqui e deve ser obtida de outro lugar. Se apresentado sem valores programáticos de qualquer origem, o cursor padrão que está visualmente em um aplicativo de 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 eles são passados. A Cursor propriedade relatará apenas valores não nulos nos casos em que foi realmente definida, por exemplo, por meio de código ou de um estilo. Cada movimento do mouse sobre um aplicativo WPF gera um QueryCursor evento. As bolhas de evento e qualquer elemento ao longo da rota têm a oportunidade de manipular o evento e definir o valor do cursor por meio dos argumentos desse evento. Esse é o mecanismo que produz o cursor visualmente aparente na maioria dos casos. Se um QueryCursor manipulador retornar um resultado de cursor, o fato de que o evento é tratado e tem um valor alterado nos argumentos tem precedência sobre o valor da Cursor propriedade em qualquer nível, a menos que ForceCursor seja definido.

Se não estiver criando um cursor personalizado, normalmente você definirá essa propriedade como um valor de propriedade estática da Cursors classe . A configuração Cursor no código requer um destes procedimentos:

  • Chame o Cursor construtor para obter uma Cursor instância. Ambas as assinaturas do Cursor construtor usam fluxos ou arquivos, antecipando que você está criando o Cursor objeto para um cursor personalizado.

  • Use a CursorConverter classe e seu ConvertFrom método para especificar um cursor por CursorTypeou uma cadeia de caracteres que pode ser avaliada como um CursorTypee converter o retorno para Cursor.

A configuração de Cursor como um valor personalizado não está habilitada em confiança parcial. Para obter mais informações sobre cursores personalizados, consulte Visão geral de entrada.

Informações da propriedade de dependência

Campo Identificador CursorProperty
Propriedades de metadados definidas como true Nenhum

Aplica-se a

Confira também