Übersicht über die QuickInfo
Eine QuickInfo ist ein kleines Popupfenster, das angezeigt wird, wenn ein Benutzer den Mauszeiger über ein Element hält, z. B. über eine Button. In diesem Thema wird die QuickInfo vorgestellt und erläutert, wie Sie QuickInfo-Inhalte erstellen und anpassen.
Dieses Thema enthält folgende Abschnitte.
- Was ist eine QuickInfo?
- Erstellen einer QuickInfo
- Verwenden der Eigenschaften der QuickInfo-Klasse und der ToolTipService-Klasse
- Formatieren einer QuickInfo
- Verwenden der Zeitintervalleigenschaften von ToolTipService
- Verwandte Abschnitte
Was ist eine QuickInfo?
Wenn ein Benutzer den Mauszeiger über ein Element bewegt, das über eine QuickInfo verfügt, wird für eine bestimmte Zeitspanne ein Fenster mit dem QuickInfo-Inhalt angezeigt (z. B. Text, der die Funktion eines Steuerelements beschreibt). Wenn der Benutzer den Mauszeiger vom Steuerelement weg bewegt, wird das Fenster nicht mehr angezeigt, da der QuickInfo-Inhalt den Fokus nicht erhalten kann.
Eine QuickInfo kann eine oder mehrere Textzeilen, Bilder, Formen oder andere visuelle Inhalte enthalten. Sie definieren eine QuickInfo für ein Steuerelement, indem Sie eine der folgenden Eigenschaften auf den QuickInfo-Inhalt festlegen.
Welche Eigenschaft Sie verwenden, ist davon abhängig, ob das Steuerelement, das die QuickInfo definiert, von der FrameworkContentElement-Klasse oder der FrameworkElement-Klasse erbt.
Erstellen einer QuickInfo
Im folgenden Beispiel wird veranschaulicht, wie Sie eine einfache QuickInfo erstellen, indem Sie die ToolTip-Eigenschaft für ein Button-Steuerelement auf eine Textzeichenfolge festlegen.
<Button ToolTip="Click to submit your information"
Click="SubmitCode" Height="20" Width="50">Submit</Button>
Sie können eine QuickInfo ebenfalls als ein ToolTip-Objekt definieren. Im folgenden Beispiel wird XAML verwendet, um ein ToolTip-Objekt als QuickInfo eines TextBox-Elements anzugeben. Beachten Sie, dass die ToolTip im Beispiel durch Festlegen der FrameworkElement.ToolTip-Eigenschaft angegeben wird.
<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>
Im folgenden Beispiel wird Code verwendet, um ein ToolTip-Objekt zu generieren. Im Beispiel wird eine ToolTip (tt) erstellt und einem Button zugeordnet.
button = New Button()
button.Content = "Hover over me."
tt = New ToolTip()
tt.Content = "Created with Visual Basic"
button.ToolTip = tt
cv2.Children.Add(button)
button = new Button();
button.Content = "Hover over me.";
tt = new ToolTip();
tt.Content = "Created with C#";
button.ToolTip = tt;
cv2.Children.Add(button);
Sie können auch QuickInfo-Inhalte erstellen, die nicht als ein ToolTip-Objekt definiert sind, indem Sie diese in ein Layoutelement (z. B. ein DockPanel) einschließen. Im folgenden Beispiel wird veranschaulicht, wie die ToolTip-Eigenschaft einer TextBox auf Inhalte festgelegt wird, die in einem DockPanel-Steuerelement eingeschlossen sind.
<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 QuickInfo-Klasse und der ToolTipService-Klasse
Sie können QuickInfo-Inhalte anpassen, indem Sie visuelle Eigenschaften festlegen und Stile anwenden. Wenn Sie den QuickInfo-Inhalt als ein ToolTip-Objekt definieren, können Sie die visuellen Eigenschaften des ToolTip-Objekts festlegen. Andernfalls müssen Sie für die ToolTipService-Klasse entsprechende angefügte Eigenschaften festlegen.
Ein Beispiel zum Festlegen von Eigenschaften, um die Position der QuickInfo-Inhalte mithilfe der ToolTip-Eigenschaft und der ToolTipService-Eigenschaft anzugeben, finden Sie unter Gewusst wie: Positionieren einer QuickInfo.
Formatieren einer QuickInfo
Sie können eine ToolTip formatieren, indem Sie einen benutzerdefinierten Style definieren. Im folgenden Beispiel wird ein Style mit dem Namen Simple definiert, mit dem gezeigt wird, wie Sie den Offset für die Platzierung der ToolTip angeben und die Darstellung ändern, indem Sie Background, Foreground, FontSize und FontWeight festlegen.
<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 Zeitintervalleigenschaften von ToolTipService
Die ToolTipService-Klasse stellt Ihnen die folgenden Eigenschaften zur Verfügung, mit denen Sie festlegen können, wie lange eine QuickInfo angezeigt wird: InitialShowDelay, BetweenShowDelay und ShowDuration.
Geben Sie mit der InitialShowDelay-Eigenschaft und der ShowDuration-Eigenschaft eine (normalerweise kurze) Verzögerung vor dem Anzeigen der ToolTip und die Zeitspanne an, die die ToolTip sichtbar bleibt. Weitere Informationen finden Sie unter Gewusst wie: Verzögern der Anzeige einer QuickInfo.
Die BetweenShowDelay-Eigenschaft legt fest, ob QuickInfos für verschiedene Steuerelemente ohne eine Verzögerung angezeigt werden, wenn Sie den Mauszeiger schnell von einem zum anderen Steuerelement bewegen. Weitere Informationen zur BetweenShowDelay-Eigenschaft finden Sie unter Gewusst wie: Verwenden der BetweenShowDelay-Eigenschaft.
Das folgende Beispiel zeigt, wie diese Eigenschaften für eine QuickInfo festgelegt werden.
<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>