FrameworkElement.Cursor Propriedade

Definição

Obtém ou define o cursor exibido quando o ponteiro do mouse está sobre este elemento.Gets or sets the cursor that displays when the mouse pointer is over this element.

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.The cursor to display. O valor padrão é definido como null por essa propriedade de dependência.The default value is defined as null per this dependency property. No entanto, o padrão prático em tempo de execução virá de uma variedade de fatores.However, the practical default at run time will come from a variety of factors.

Exemplos

O exemplo a seguir mostra como definir deliberadamente o gráfico do cursor.The following example shows how to deliberately set the cursor graphic.

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

Comentários

Quando você define essa propriedade em XAMLXAML, o processador de XAMLXAML depende da conversão de tipo para a classe Cursor para avaliar a cadeia de caracteres.When you set this property in XAMLXAML, the XAMLXAML processor relies on type conversion for the Cursor class to evaluate the string. A cadeia de caracteres fornecida deve ser avaliada como um valor CursorType.The provided string should evaluate to a CursorType value. Para obter detalhes, consulte Cursor.See Cursor for details.

Se o cursor conforme estabelecido por essa propriedade será ou não será exibido quando o ponteiro do mouse estiver sobre esse elemento também depender do valor da propriedade ForceCursor.Whether the cursor as established by this property will or will not display when the mouse pointer is over this element is also dependent on the value of the ForceCursor property. Além disso, considerações relacionadas a eventos, como um arrastar ativo, captura do 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.Also, event-related considerations such as an active drag, mouse capture, text editing modes within controls, and so on, will also affect the cursor with higher priority than the value you specify in this property.

Para reverter o comportamento de definir essa propriedade para o padrão eventual, defina-a como null novamente.To revert the behavior of setting this property to the eventual default, set it to null again.

O null padrão realmente significa que a determinação do valor de cursor prático é adiada aqui e deve ser Obtida de outro lugar.The null default really means that determination of the practical cursor value is deferred here and should be obtained from elsewhere. Se for apresentado sem valores programáticos de qualquer origem, o cursor padrão que estiver visualmente em um aplicativo Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) será uma seta.If presented without programmatic values from any source, the default cursor that is visually over a Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) application will be an arrow. No entanto, as alterações de cursor transitório não são definidas para os valores Cursor dos elementos quando são passadas.However, the transient cursor changes are not set to the Cursor values of the elements when they are passed over. A propriedade Cursor reportará valores não nulos nos casos em que ele foi realmente definido, por exemplo, por meio de código ou de um estilo.The Cursor property will only report non null values in cases where it was actually set, for instance through code or a style. Cada movimento do mouse sobre um aplicativo WPFWPF gera um evento QueryCursor.Each movement of the mouse over a WPFWPF application raises a QueryCursor event. Os balões de evento e qualquer elemento ao longo da rota tem a oportunidade de lidar com o evento e definir o valor do cursor por meio dos argumentos desse evento.The event bubbles, and any element along the route has the opportunity to handle the event and to set the value of the cursor through the arguments of this event. Esse é o mecanismo que produz o cursor aparente visualmente na maioria dos casos.This is the mechanism that produces the visually apparent cursor in most cases. Se um manipulador de QueryCursor retornar um resultado de cursor, o fato de que o evento é manipulado e tem um valor alterado nos argumentos tem precedência sobre o valor da propriedade Cursor em qualquer nível, a menos que ForceCursor esteja definido.If a QueryCursor handler returns a cursor result, then the fact that the event is handled and has a changed value in the arguments takes precedence over the value of the Cursor property at any level, unless ForceCursor is set.

Se não estiver criando um cursor personalizado, você normalmente definirá essa propriedade como um valor de propriedade estática da classe Cursors.If not are not creating a custom cursor, you typically set this property to a static property value of the Cursors class. A configuração Cursor no código requer um dos seguintes:Setting Cursor in code requires one of the following:

  • Chame o Construtor Cursor para obter uma instância de Cursor.Call the Cursor constructor to get a Cursor instance. As assinaturas do construtor de Cursor usam fluxos ou arquivos, na previsão de que você está criando o objeto de Cursor para um cursor personalizado.Both signatures of the Cursor constructor use streams or files, in anticipation that you are creating the Cursor object for a custom cursor.

  • Use a classe CursorConverter e seu método ConvertFrom para especificar um cursor por CursorType, ou uma cadeia de caracteres que possa ser avaliada como um CursorTypee converta o retorno em Cursor.Use the CursorConverter class and its ConvertFrom method to specify a cursor by CursorType, or a string that can evaluate to a CursorType, and cast the return to Cursor.

Definir o Cursor como um valor personalizado não está habilitado em confiança parcial.Setting the Cursor to a custom value is not enabled in partial trust. Para obter mais informações sobre cursores personalizados, consulte visão geral de entrada.For more information on custom cursors, see Input Overview.

Informações de Propriedade de DependênciaDependency Property Information

Campo de identificadorIdentifier field CursorProperty
Propriedades de metadados definidas como trueMetadata properties set to true NenhumNone

Aplica-se a

Veja também