TOC

This article has been localized into Portuguese by the community.

A special thanks goes out to user #45 for the Portuguese translation of this article: Paulo Duarte

Conceitos de controle:

Dicas de controle

Tooltips, infotips ou dicas - vários nomes, mas o conceito permanece o mesmo: A capacidade de fornecer informação extra sobre um controle específico ou link ao passar o mouse sobre ele. WPF obviamente suporta este conceito também, ao usar a propriedade ToolTip encontrada na classe FrameworkElement, que é herdada por quase todos controles.

Especificar uma dica de ferramenta para um controle é muito fácil, como você verá nesse primeiro e muito básico exemplo:

<Window x:Class="WpfTutorialSamples.Control_concepts.ToolTipsSimpleSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ToolTipsSimpleSample" Height="150" Width="400">
    <Grid VerticalAlignment="Center" HorizontalAlignment="Center">

        <Button ToolTip="Click here and something will happen!">Click here!</Button>

    </Grid>
</Window>

Como você pode ver no print, isto resulta em uma caixa flutuante com um texto especificado, uma vez que o mouse passa sobre o botão. Isto é o que a maioria dos frameworks UI oferecem - a exibição de um texto e nada mais.

No entanto, no WPF, a propriedade ToolTip não é do tipo string, mas sim do tipo object, o que significa que nós podemos colocar qualquer coisa que quisermos nela. Isso abre algumas possibilidade bem legais, onde podemos fornecer para o usuário dicas de ferramenta muito mais ricas e úteis. Por exemplo, considere este exemplo e compare-o com o primeiro:

<Window x:Class="WpfTutorialSamples.Control_concepts.ToolTipsAdvancedSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ToolTipsAdvancedSample" Height="200" Width="400" UseLayoutRounding="True">
    <DockPanel>
        <ToolBar DockPanel.Dock="Top">
            <Button ToolTip="Create a new file">
                <Button.Content>
                    <Image Source="/WpfTutorialSamples;component/Images/page_white.png" Width="16" Height="16" />
                </Button.Content>
            </Button>
            <Button>
                <Button.Content>
                    <Image Source="/WpfTutorialSamples;component/Images/folder.png" Width="16" Height="16" />
                </Button.Content>
                <Button.ToolTip>
                    <StackPanel>
                        <TextBlock FontWeight="Bold" FontSize="14" Margin="0,0,0,5">Open file</TextBlock>
                        <TextBlock>
                        Search your computer or local network
                        <LineBreak />
                        for a file and open it for editing.
                        </TextBlock>
                        <Border BorderBrush="Silver" BorderThickness="0,1,0,0" Margin="0,8" />
                        <WrapPanel>
                            <Image Source="/WpfTutorialSamples;component/Images/help.png" Margin="0,0,5,0" />
                            <TextBlock FontStyle="Italic">Press F1 for more help</TextBlock>
                        </WrapPanel>
                    </StackPanel>
                </Button.ToolTip>
            </Button>
        </ToolBar>

        <TextBox>
            Editor area...
        </TextBox>
    </DockPanel>
</Window>

Note como esse exemplo usa um simples texto de Dica de Ferramentas para o primeiro botão e logo depois um muito mais avançado para o segundo botão. No caso avançado, nós usamos um painel como controle raiz e assim temos liberdade para adicionar outros controles que nos agradam. O resultado é bem legal, com um cabeçalho, um texto de descrição e uma dica que você pode pressionar F1 para mais ajuda, incluindo um ícone de ajuda.

Opções avançadas

A classe ToolTipService tem um monte de propriedades interessantes que afetarão o comportamento de suas dicas. Você define diretamente no controle que tem o tooltip, como no exemplo a seguir, onde nós estendemos o tempo em que o tooltip será exibido usando a propriedade ShowDuration (nós definimos como 5.000 milisegundos ou 5 segundos):

<Button ToolTip="Create a new file" ToolTipService.ShowDuration="5000" Content="Open" />

Você também pode controlar se o popup deve ou não ter uma sombra, usando a propriedade HasDropShadow, assim como se as dicas devem ou não ser exibidas em controles desativados, usando a propriedade ShowOnDisabled. Existem diversas outras propriedades interessantes, para uma lista completa, consulte a documentação: http://msdn.microsoft.com/en-us/library/system.windows.controls.tooltipservice.aspx

Resumo

Dicas de ferramenta podem ser de grande ajuda para o usuário, e no WPF, elas são tanto fáceis de usar quanto extremamente flexíveis. Adicione o fato de que você pode controlar completamente o design e o conteúdo da Dica de Ferramenta, com propriedades da classe ToolTipService, para criar ajuda inline mais amigável aos usuários em suas aplicações.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!