Übersicht über die QuickInfo

Eine QuickInfo ist ein kleines Popupfenster, das angezeigt wird, wenn ein Benutzer den Mauszeiger über ein Element, z.B. einen Button bewegt. In diesem Thema wird die QuickInfo vorgestellt und das Erstellen und Anpassen von QuickInfo-Inhalten erläutert.

Was ist eine QuickInfo?

Wenn ein Benutzer den Mauszeiger über ein Element mit einer QuickInfo bewegt, wird für einen festgelegten Zeitraum ein Fenster mit dem Inhalt dieser QuickInfo angezeigt. Dabei kann es sich z.B. um Text handeln, der die Funktion eines Steuerelements beschreibt. Wenn der Benutzer den Mauszeiger vom Steuerelement wegbewegt, wird das Fenster nicht mehr angezeigt, da der Inhalt der QuickInfo keinen Fokus erhalten kann.

Der Inhalt einer QuickInfo kann eine oder mehrere Zeilen Text, Bilder, Formen oder andere visuelle Inhalte enthalten. Um eine QuickInfo für ein Steuerelement zu definieren, legen Sie für deren Inhalt eine der folgenden Eigenschaften fest.

Welche Eigenschaft Sie verwenden, hängt davon ab, ob das Steuerelement, das die QuickInfo definiert, von der Klasse FrameworkContentElement oder FrameworkElement erbt.

Erstellen einer QuickInfo

Das folgende Beispiel zeigt, wie Sie einen einfachen Tooltip erstellen, indem Sie die Eigenschaft ToolTip für ein Steuerelement Button auf eine Textzeichenfolge setzen.

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

Sie können einen Tooltip auch als ToolTip-Objekt definieren. Das folgende Beispiel verwendet XAML, um ein ToolTip-Objekt als Tooltip eines TextBox-Elements anzugeben. Beachten Sie, dass das Beispiel die ToolTip Eigenschaft festlegt 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>

Das folgende Beispiel verwendet Code, um ein ToolTip-Objekt zu erzeugen. Das Beispiel erstellt eine ToolTip (tt) und ordnet es einer 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)

Sie können auch QuickInfo-Inhalte erstellen, die nicht als ToolTip-Objekt definiert sind. Hierzu müssen Sie den Inhalt der QuickInfo in ein Layoutelement, z. B. DockPanel einschließen. Das folgende Beispiel zeigt, wie Sie die ToolTip-Eigenschaft einesTextBox in einem DockPanel-Steuerelement eingeschlossenen Inhalts festlegen.

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

Verwenden der Eigenschaften der Klassen ToolTip und ToolTipService

Sie können den Inhalt einer QuickInfo anpassen, indem Sie Eigenschaften für das Erscheinungsbild festlegen und Stile anwenden. Wenn Sie den Inhalt der QuickInfo als ToolTip-Objekt definieren, können Sie die visuellen Eigenschaften des ToolTip-Objekts festlegen. Andernfalls müssen Sie für die ToolTipService-Klasse entsprechende angehängte Eigenschaften festlegen.

Ein Beispiel für das Festlegen von Eigenschaften, um die Position des Tooltip-Inhalts mit Hilfe der Eigenschaften ToolTip und ToolTipService festzulegen, finden Sie unter Positionieren eines ToolTip.

Formatieren einer QuickInfo

Sie können eine ToolTip formatieren, indem Sie einen benutzerdefinierten Typ Style definieren. Im folgenden Beispiel wird ein Style namens Simple definiert, der zeigt, wie die Platzierung des ToolTip-Steuerelements durch Festlegen von Background, Foreground, FontSize und FontWeight die Darstellung geändert wird.

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

Verwenden der Eigenschaften von ToolTipService für Zeitintervalle

Die ToolTipService-Klasse stellt die folgenden Eigenschaften bereit, um Die QuickInfo-Anzeigezeiten festzulegen: InitialShowDelay, BetweenShowDelayund ShowDuration.

Verwenden Sie die InitialShowDelay- und ShowDuration-Eigenschaften, um eine in der Regel kurze Verzögerung festzulegen, bevor ein ToolTip angezeigt wird, und auch, um festzulegen, wie lange ein ToolTip sichtbar bleibt. Weitere Informationen finden Sie unter Vorgehensweise: Verzögern der Anzeige einer QuickInfo.

Die Eigenschaft BetweenShowDelay bestimmt, ob QuickInfos für andere Steuerelemente ohne Verzögerung angezeigt werden, wenn Sie die Maus schnell zwischen ihnen hin und her bewegen. Weitere Informationen zu dieser BetweenShowDelay-Eigenschaft finden Sie unter Verwenden der Eigenschaft BetweenShowDelay.

Das nachstehende Beispiel zeigt, wie Sie diese Eigenschaften für eine QuickInfo festlegen.

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

Weitere Informationen