ToolTip — Przegląd

Etykietka narzędzia to małe okno podręczne, które pojawia się, gdy użytkownik wstrzymuje wskaźnik myszy nad elementem, na przykład za pośrednictwem elementu Button. W tym temacie przedstawiono etykietkę narzędzia i omówiono sposób tworzenia i dostosowywania zawartości etykietki narzędzia.

Co to jest etykietka narzędzia

Gdy użytkownik przenosi wskaźnik myszy nad elementem zawierającym etykietkę narzędzia, zostanie wyświetlone okno zawierające zawartość etykietki narzędzia (na przykład zawartość tekstowa opisującą funkcję kontrolki) przez określony czas. Jeśli użytkownik przenosi wskaźnik myszy z dala od kontrolki, okno zniknie, ponieważ zawartość etykietki narzędzia nie może uzyskać fokusu.

Zawartość etykietki narzędzia może zawierać co najmniej jeden wiersz tekstu, obrazów, kształtów lub innej zawartości wizualnej. Etykietkę narzędzia dla kontrolki można zdefiniować, ustawiając jedną z następujących właściwości na zawartość etykietki narzędzia.

Która właściwość, której używasz, zależy od tego, czy kontrolka definiująca etykietkę narzędzia dziedziczy z FrameworkContentElement klasy lub FrameworkElement .

Tworzenie etykietki narzędzia

W poniższym przykładzie pokazano, jak utworzyć prostą etykietkę narzędzia, ustawiając ToolTip właściwość kontrolki na Button ciąg tekstowy.

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

Etykietkę narzędzia można również zdefiniować jako ToolTip obiekt. W poniższym przykładzie użyto języka XAML do określenia ToolTip obiektu jako etykietki TextBox narzędzia elementu. Należy pamiętać, że w przykładzie określono ToolTip właściwość , ustawiając FrameworkElement.ToolTip właściwość .

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

W poniższym przykładzie użyto kodu do wygenerowania ToolTip obiektu. Przykład tworzy element ToolTip (tt) i kojarzy go z elementem 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)

Można również utworzyć zawartość etykietki narzędzi, która nie jest zdefiniowana jako ToolTip obiekt, otaczając zawartość etykietki narzędzia w elemecie układu, takim jak DockPanel. W poniższym przykładzie pokazano, jak ustawić ToolTip właściwość obiektu TextBox na zawartość ujętą w kontrolce DockPanel .

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

Używanie właściwości klas ToolTip i ToolTipService

Zawartość etykietki narzędzi można dostosować, ustawiając właściwości wizualizacji i stosując style. Jeśli zdefiniujesz zawartość etykietki narzędzia jako ToolTip obiekt, możesz ustawić właściwości wizualizacji ToolTip obiektu. W przeciwnym razie należy ustawić równoważne dołączone właściwości w ToolTipService klasie.

Aby zapoznać się z przykładem sposobu ustawiania właściwości w celu określenia położenia zawartości etykietki narzędzia przy użyciu ToolTip właściwości i ToolTipService , zobacz Położenie etykietki narzędzia.

Stylowanie etykietki narzędzia

Styl można utworzyć ToolTip , definiując niestandardowy Styleelement . W poniższym przykładzie zdefiniowano wywołanie StyleSimple, które pokazuje, jak zrównoważyć położenie ToolTip obiektu i zmienić jego wygląd, ustawiając Backgroundwartości , , ForegroundFontSizei 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>

Używanie właściwości interwału czasu toolTipService

Klasa ToolTipService udostępnia następujące właściwości ustawiania czasów wyświetlania etykietek narzędzi: InitialShowDelay, BetweenShowDelayi ShowDuration.

InitialShowDelay Użyj właściwości iShowDuration, aby określić opóźnienie, zazwyczaj krótkie, przed wyświetleniemToolTip, a także określić, jak długo ToolTip pozostaje widoczny. Aby uzyskać więcej informacji, zobacz Instrukcje: opóźnienie wyświetlania etykietki narzędzia.

Właściwość BetweenShowDelay określa, czy etykietki narzędzi dla różnych kontrolek pojawiają się bez początkowego opóźnienia podczas szybkiego przesuwania wskaźnika myszy między nimi. Aby uzyskać więcej informacji na temat właściwości, zobacz Use the BetweenShowDelay BetweenShowDelay Property (Używanie właściwości BetweenShowDelay).

W poniższym przykładzie pokazano, jak ustawić te właściwości dla etykietki narzędzia.

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

Zobacz też