Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Classe Thumb

Representa um controle que pode ser arrastado pelo usuário.

Namespace:  System.Windows.Controls.Primitives
Assembly:  PresentationFramework (em PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation
[LocalizabilityAttribute(LocalizationCategory.NeverLocalize)]
public class Thumb : Control

O controle Thumb pode ser incluído dentro de um outro controle, como um ScrollBar ou Slider, para permitir que o usuário altere deste outro controle. The Thumb também pode ser usado para redimensionar controles. Por exemplo, um Thumb controle no canto de uma janela pode fornecer um local para o usuário clicar com o mouse para iniciar uma operação de redimensionar.

Thumb Fornece os eventos DragStarted, DragCompleted e DragDelta para gerenciar operações de arrastar com o ponteiro do mouse (Drag-and-Drop). Quando o usuário pressiona o botão esquerdo do mouse, o controle Thumb recebe o foco lógico (Logical focus) e o estado do mouse (Mouse capture) e o evento DragStarted é disparado. Enquanto o controle Thumb estiver em foco e mantiver o estado do mouse, o evento DragDelta pode ser disparado várias vezes sem limite. Quando o usuário solta o botão esquerdo do mouse, o controle Thumb perde a captura do mouse e o evento DragCompleted é gerado.

As informações do evento fornecem uma alteração de posição, mas não reposiciona o Thumb. Você deve alterar manualmente ou reposicionar o Thumb ou quaisquer outros elementos que você deseja redimensionar ou alterar sistema autônomo resultado da operação arrastar. The Thumb controle não fornece a funcionalidade do tipo arrastar e soltar.

A Thumb controle pode receber capturar o mouse, mas não pode receber o foco do teclado. Portanto, a propriedade IsKeyboardFocused que corresponde ao foco do teclado é pré-definida como false. Este valor substitui o pai classe Control que define essa propriedade para true.

Para fornecer recursos de arrastar, manipulação de classe é fornecida para o MouseLeftButtonDown, MouseLeftButtonUp e MouseMove eventos. Para obter mais informações, consulte o OnMouseLeftButtonDown, OnMouseLeftButtonUp e OnMouseMove métodos.

Quando um Thumb é parte de um Track controle que percorre o conteúdo em uma área visualizável, ou porta de visualização, o dimensionar das Thumb reflete o dimensionar da porta de visualização. Para mais informações, consulte a classe Track.A ilustração a seguir mostra um Thumb controle que seja parte de um ScrollBar controle.

Ilustração de barra de rolagem

Este exemplo mostra como utilizar um controle Thumb para redimensionar um controle Canvas.

O controle Thumb fornece funcionalidade de arrasto que pode ser utilizada para mover ou redimensionar controles monitorando os eventos DragStarted, DragDelta e DragCompleted do Thumb.

O usuário inicia uma operação de arrasto pressionando o botão esquerdo do mouse quando o cursor do mouse está pausado sobre o controle Thumb. A operação de arrasto continua enquanto o botão esquerdo do mouse permanece pressionado. Durante a operação de arrasto, o DragDelta pode ocorrer mais do que uma vez. Cada vez que isso ocorre, a classe DragDeltaEventArgs fornece a mudança de posição que corresponde a mudança na posição do mouse. Quando o usuário libera o botão esquerdo do mouse, a operação de arrasto é terminada. A operação somente fornece novas coordenadas; não reposiciona automaticamente o Thumb.

O exemplo a seguir mostra um controle Thumb que é o elemento filho de um controle Canvas. O manipulador de eventos para seu evento DragDelta fornece a lógica para mover o Thumb e redimensionar o Canvas. Os manipuladores de evento para os eventos DragStarted e DragCompleted mudam a cor do Thumb durante uma operação de arrasto. O exemplo a seguir define o Thumb.

<Thumb Name="myThumb" Canvas.Left="80" Canvas.Top="80" Background="Blue" 
      Width="20" Height="20" DragDelta="onDragDelta" 
      DragStarted="onDragStarted" DragCompleted="onDragCompleted"
      />


O exemplo a seguir mostra o manipulador de evento DragDelta que move o Thumb e redimensiona o Canvas em resposta a um movimento de mouse.

void onDragDelta(object sender, DragDeltaEventArgs e)
{
    //Move the Thumb to the mouse position during the drag operationdouble yadjust = myCanvasStretch.Height + e.VerticalChange;
    double xadjust = myCanvasStretch.Width + e.HorizontalChange;
    if ((xadjust >= 0) && (yadjust >= 0))
    {
        myCanvasStretch.Width = xadjust;
        myCanvasStretch.Height = yadjust;
        Canvas.SetLeft(myThumb, Canvas.GetLeft(myThumb) +
                                e.HorizontalChange);
        Canvas.SetTop(myThumb, Canvas.GetTop(myThumb) +
                                e.VerticalChange);
        changes.Text = "Size: " +
                        myCanvasStretch.Width.ToString() +
                         ", " +
                        myCanvasStretch.Height.ToString();
    }
}


O exemplo a seguir mostra o manipulador de evento DragStarted.

void onDragStarted(object sender, DragStartedEventArgs e)
{
    myThumb.Background = Brushes.Orange;
}


O exemplo a seguir mostra o manipulador de evento DragCompleted.

void onDragCompleted(object sender, DragCompletedEventArgs e)
{
    myThumb.Background = Brushes.Blue;
}


For the complete sample, see Miniatura exemplo de funcionalidade de arrastar.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Visual
        System.Windows.UIElement
          System.Windows.FrameworkElement
            System.Windows.Controls.Control
              System.Windows.Controls.Primitives.Thumb
                System.Windows.Controls.GridSplitter
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Windows Vista, Windows XP SP2, Windows Server 2003

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.