Visão geral de ToolTip

Uma dica de ferramenta é uma pequena janela pop-up que aparece quando um usuário pausa o ponteiro do mouse sobre um elemento, como sobre um Buttonarquivo . Este tópico apresenta a dica de ferramenta e discute como criar e personalizar o conteúdo da dica de ferramenta.

O que é uma dica de ferramenta

Quando um usuário move o ponteiro do mouse sobre um elemento que tem uma dica de ferramenta, aparecerá uma janela com conteúdo da dica de ferramenta (por exemplo, conteúdo de texto que descreve a função de um controle) por um período especificado. Se o usuário mover o ponteiro do mouse para fora do controle, a janela desaparecerá, pois o conteúdo da dica de ferramenta não poderá receber foco.

O conteúdo de uma dica de ferramenta pode conter uma ou mais linhas de texto, imagens, formas ou outros conteúdos visuais. Você define uma dica de ferramenta para um controle definindo uma das seguintes propriedades para o conteúdo da dica de ferramenta.

A propriedade que você usa depende se o controle que define a dica de ferramenta herda da FrameworkContentElement classe ou FrameworkElement .

Criando uma ToolTip

O exemplo a seguir mostra como criar uma dica de ferramenta simples definindo a ToolTip propriedade de um Button controle para uma cadeia de caracteres de texto.

<Button ToolTip="Click to submit your information" 
        Click="SubmitCode" Height="20" Width="50">Submit</Button>

Você também pode definir uma dica de ferramenta como um ToolTip objeto. O exemplo a seguir usa XAML para especificar um objeto como a dica de ferramenta de um ToolTipTextBox elemento. Observe que o exemplo especifica o ToolTip definindo a FrameworkElement.ToolTip propriedade.

<TextBox HorizontalAlignment="Left">ToolTip with non-text content
  <TextBox.ToolTip>
    <ToolTip>
      <DockPanel Width="50" Height="70">
        <Image Source="data\flower.jpg"/>
        <TextBlock>Useful information goes here.</TextBlock>
      </DockPanel>
    </ToolTip>
  </TextBox.ToolTip>
</TextBox>

O exemplo a seguir usa código para gerar um ToolTip objeto. O exemplo cria um (tt) e o associa a um ToolTipButtonarquivo .

button = new Button();
button.Content = "Hover over me.";
tt = new ToolTip();
tt.Content = "Created with C#";
button.ToolTip = tt;
cv2.Children.Add(button);
button = New Button()
button.Content = "Hover over me."
tt = New ToolTip()
tt.Content = "Created with Visual Basic"
button.ToolTip = tt
cv2.Children.Add(button)

Você também pode criar conteúdo de dica de ferramenta que não esteja definido como um objeto colocando o conteúdo da dica de ferramenta em um elemento de layout, como um ToolTipDockPanelarquivo . O exemplo a seguir mostra como definir a ToolTip propriedade de um para conteúdo que está incluído em um TextBoxDockPanel controle.

<TextBox>
  ToolTip with image and text
  <TextBox.ToolTip>
       <StackPanel>
        <Image Source="data\flower.jpg"/>
        <TextBlock>Useful information goes here.</TextBlock>
      </StackPanel>
  </TextBox.ToolTip>

Usando as propriedades das classes ToolTip e ToolTipService

Você pode personalizar o conteúdo da dica de ferramenta definindo propriedades visuais e aplicando estilos. Se você definir o conteúdo da dica de ferramenta como um ToolTip objeto, poderá definir as propriedades visuais do ToolTip objeto. Caso contrário, você deve definir propriedades anexadas equivalentes na ToolTipService classe.

Para obter um exemplo de como definir propriedades para especificar a posição do conteúdo da dica de ferramenta usando as propriedades e ToolTipService , consulte Posicionar uma dica ToolTipde ferramenta.

Definindo o estilo de uma ToolTip

Você pode estilizar um definindo um ToolTipStylearquivo . O exemplo a seguir define uma Style chamada Simple que mostra como compensar o posicionamento do ToolTip e alterar sua aparência definindo o Background, , ForegroundFontSizee FontWeight.

<Style TargetType="ToolTip">
  <Setter Property = "HorizontalOffset" Value="10"/>
  <Setter Property = "VerticalOffset" Value="10"/>
  <Setter Property = "Background" Value="LightBlue"/>
  <Setter Property = "Foreground" Value="Purple"/>
  <Setter Property = "FontSize" Value="14"/>
  <Setter Property = "FontWeight" Value="Bold"/>
</Style>

Usando as propriedades Intervalo de Tempo de ToolTipService

A ToolTipService classe fornece as seguintes propriedades para você definir tempos de exibição de dica de ferramenta: InitialShowDelay, BetweenShowDelaye ShowDuration.

Use as InitialShowDelay propriedades and ShowDuration para especificar um atraso, geralmente breve, antes que um apareça e também para especificar por quanto tempo um ToolTipToolTip permanece visível. Para obter mais informações, consulte Como adiar a exibição de uma ToolTip.

A BetweenShowDelay propriedade determina se as dicas de ferramentas para controles diferentes aparecem sem um atraso inicial quando você move o ponteiro do mouse rapidamente entre eles. Para obter mais informações sobre a propriedade, consulte Usar a BetweenShowDelay propriedade BetweenShowDelay.

O exemplo a seguir mostra como definir essas propriedades para uma dica de ferramenta.

<Ellipse Height="25" Width="50" 
         Fill="Gray" 
         HorizontalAlignment="Left"
         ToolTipService.InitialShowDelay="1000"
         ToolTipService.ShowDuration="7000"
         ToolTipService.BetweenShowDelay="2000">
  <Ellipse.ToolTip>
    <ToolTip Placement="Right" 
             PlacementRectangle="50,0,0,0"
             HorizontalOffset="10" 
             VerticalOffset="20"
             HasDropShadow="false"
             Opened="whenToolTipOpens"
             Closed="whenToolTipCloses"
             >
      <BulletDecorator>
        <BulletDecorator.Bullet>
          <Ellipse Height="10" Width="20" Fill="Blue"/>
        </BulletDecorator.Bullet>
        <TextBlock>Uses the ToolTip Class</TextBlock>
      </BulletDecorator>
    </ToolTip>
  </Ellipse.ToolTip>
</Ellipse>

Confira também