Nápověda

Tooltip je malé automaticky otevírané okno, které se zobrazí, když uživatel pozastaví ukazatel myši nad prvek, například nad Button. Když uživatel přesune ukazatel myši na prvek, který má popisek, zobrazí se okno obsahující obsah popisu (například textový obsah popisující funkci ovládacího prvku) po určitou dobu. Pokud uživatel přesune ukazatel myši od ovládacího prvku, okno zmizí, protože obsah tooltipu nemůže získat pozornost.

Následující obrázek znázorňuje ukazatel myši, který ukazuje na zavřítButton, čímž zobrazuje jeho název ToolTip.

Tlačítko Zavřít se zobrazenou nápovědou

Popis zobrazený při najetí myší na ovládací prvek zaškrtávacího políčka ve WPF

Obsah popisu může obsahovat jeden nebo více řádků textu, obrázků, obrazců nebo jiného vizuálního obsahu. Popis ovládacího prvku definujete nastavením jedné z následujících vlastností na obsah popisu:

Která vlastnost, kterou použijete, závisí na tom, zda ovládací prvek, který definuje popisek, dědí z FrameworkContentElement třídy nebo FrameworkElement třídy.

Vytvořit popisek

Následující příklad ukazuje, jak vytvořit jednoduchý popis nastavením ToolTip vlastnosti Button ovládacího prvku na textový řetězec.

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

Popis můžete také definovat jako ToolTip objekt. Následující příklad používá XAML k určení objektu ToolTip jako popisku prvku TextBox. Příklad určuje ToolTip nastavením vlastnosti FrameworkElement.ToolTip.

<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>

Následující příklad používá kód k vygenerování objektu ToolTip . Příklad vytvoří ToolTip (tt) a přidruží ho k .Button

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)

Obsah popisu, který není definován jako ToolTip objekt, můžete také vytvořit uzavřením obsahu popisu do elementu rozložení, například DockPanel. Následující příklad ukazuje, jak nastavit vlastnost ToolTip u TextBox na obsah, který je uzavřen v ovládacím prvku DockPanel.

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

Přizpůsobení popisku

Obsah popisu můžete přizpůsobit nastavením vizuálních vlastností a použitím stylů. Pokud definujete obsah popisu jako ToolTip objekt, můžete nastavit vizuální vlastnosti objektu ToolTip . V opačném případě je nutné nastavit ekvivalentní připojené vlastnosti třídy ToolTipService .

Příklad, jak nastavit vlastnosti pro určení umístění obsahu popisu pomocí vlastností ToolTip a ToolTipService, naleznete v tématu Umístění popisu.

Vlastnosti časového intervalu

Třída ToolTipService poskytuje následující vlastnosti pro nastavení doby zobrazení popisu: InitialShowDelay, BetweenShowDelaya ShowDuration.

InitialShowDelay Pomocí vlastností ShowDuration můžete určit zpoždění, obvykle stručné před zobrazenímToolTip, a také určit, jak dlouho ToolTip zůstane viditelný. Další informace naleznete v tématu Postup: Zpoždění zobrazení ToolTipu.

Vlastnost BetweenShowDelay určuje, jestli se popisy pro různé ovládací prvky zobrazí bez počátečního zpoždění, když mezi nimi rychle přesunete ukazatel myši. Další informace o vlastnosti BetweenShowDelay naleznete v tématu Použití vlastnosti BetweenShowDelay.

Následující příklad ukazuje, jak nastavit tyto vlastnosti pro popis.

<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>

Styly a šablony

Výchozí nastavení ControlTemplate můžete upravit tak, aby ovládací prvek získal ToolTip jedinečný vzhled. Další informace najdete v tématu Co jsou styly a šablony? a Jak vytvořit šablonu pro ovládací prvek.

Styl popisu

Můžete stylizovat ToolTip definováním vlastního Style. Následující příklad definuje Style nazvaný Simple, který ukazuje, jak posunout umístění ToolTip a změnit jeho vzhled nastavením Background, Foreground, FontSize a 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>

Vlastnost obsahu

Vlastnost ContentControl.Content je vlastnost obsahu ovládacího prvku ToolTip. Tuto vlastnost můžete nastavit přímo v XAML bez explicitního zadání názvu vlastnosti.

Součástky

Tento ovládací prvek nedefinuje žádné části šablony.

Vizuální stavy

Následující tabulka uvádí vizuální stavy ToolTip ovládacího prvku.

Název VisualState Název skupiny VisualStateGroup Description
Zavřeno OpenStates Popisek je zavřený a není viditelný.
Otevřít OpenStates Tooltip je otevřený a viditelný.
Valid StavyOvěření Ovládací prvek je platný a nemá žádné chyby ověření.
Neplatný fokus StavyOvěření Ovládací prvek má chybu validace a klávesnicový fokus.
NeplatnýBezZaostření StavyOvěření Ovládací prvek má chybu ověření, ale nemá zaměření klávesnice.

Viz také