FrameworkElement.Cursor Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |