Sdílet prostřednictvím


Přehled popisků typu ToolTip

Tooltip je malé automaticky otevírané okno, které se zobrazí, když uživatel pozastaví ukazatel myši nad prvek, například nad Button. Toto téma představuje nástrojovou nápovědu a popisuje, jak vytvořit a přizpůsobit její obsah.

Co je bublina nápovědy

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 popisku nemůže přijmout zaměření.

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

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

Vytvoření popisu

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

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

Také můžete definovat popis jako objekt ToolTip. Následující příklad používá XAML pro určení objektu ToolTip jakožto popis prvku TextBox. Všimněte si, že 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í ToolTip objektu. 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)

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

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

Použití vlastností tříd ToolTip a ToolTipService

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

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

Styling a ToolTip

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

Využití vlastnosti časového intervalu ToolTipService

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

Pomocí vlastností InitialShowDelay a ShowDuration můžete určit zpoždění, obvykle stručné, před zobrazením ToolTip a také určit, jak dlouho bude ToolTip viditelný. Další informace naleznete v tématu Jak zpozdit 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 tyto vlastnosti nastavit 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>

Viz také