WPF-Controls: ToolTips

Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!

Unter Access/VBA fristeten die ToolTips ein Schattendasein. Sie konnten dafür lediglich einen Text angeben, der beim Überfahren des jeweiligen Steuerelements eingeblendet wurde und dann wieder verschwand. Es gab keinerlei Möglichkeiten, das Aussehen des ToolTips zu beeinflussen. Unter WPF sieht dies ganz anders aus: Sie können nicht nur das Aussehen und den Inhalt vielfältig gestalten, sondern auch noch bestimmen, wann und wie der ToolTip ein- und ausgeblendet wird.

ToolTip für Button-Steuerelemente

Von Access/VBA haben Sie mit der Eigenschaft SteuerelementTip-Text (unter VBA ControlTipText) festgelegt, welcher Text angezeigt werden soll, wenn der Benutzer mit dem Mauszeiger über dem Steuerelement verweilt. Eine solche Eigenschaft gibt es natürlich auch unter WPF. Am einfachsten fügen Sie einen solchen Hinweistext hinzu, indem Sie einfach das entsprechende Attribut des betroffenen Steuerelements verwenden – in diesem Fall für ein Button-Element:

<Button x:Name="btnToolTip" Content="Button mit ToolTip" ... ToolTip="Ich bin ein Tooltip für einen Button!"/>

Das Ergebnis sieht dann etwa wie in Bild 1 aus.

Schaltfläche mit einem einfachen ToolTip-Text

Bild 1: Schaltfläche mit einem einfachen ToolTip-Text

Das ToolTip-Element ist tatsächlich ein echtes Steuerelement, das Sie mit beliebigen Inhalten füllen können. Wie das aussehen kann, sehen Sie in Bild 2.

Erweiterter ToolTip-Text

Bild 2: Erweiterter ToolTip-Text

Der notwendige Code ist in Listing 1 abgebildet. Hier ist zu beachten, dass wir nicht mehr das Attribut ToolTip verwenden. Stattdessen fügen wir dem Button-Element ein schließendes Button-Element hinzu () und fügen einige weitere Elemente innerhalb von ein.

<Button x:Name="btnToolTipElement" Content="Button mit ToolTip-Element" ...>
     <Button.ToolTip>
         <StackPanel>
             <Label Content="Erweiterter ToolTip" FontWeight="Bold" Background="LightSkyBlue" Foreground="White" />
             <TextBlock Padding="10" TextWrapping="WrapWithOverflow" Width="200">
                Mit dem ToolTip-Element lässt sich mehr anstellen als nur einfache Texte einzublenden.
             </TextBlock>
             <Line Stroke="Black" StrokeThickness="1" X2="200"/>
             <StackPanel Orientation="Horizontal">
                 <Image Margin="2" Source="question_32.png" />
                 <Label FontWeight="Bold" Content="F1 für weitere Infos." />
             </StackPanel>
         </StackPanel>
     </Button.ToolTip>
</Button>

Listing 1: Einen ausgefeilten ToolTip zu einem Button-Element hinzufügen

Dabei handelt es sich zunächst um das Button.ToolTip-Element, das ohne eigene Attribute kommt, sondern nur den Rahmen für die anzuzeigenden Inhalte liefert. Darin bringen wir ein StackPanel-Element unter. Dieses haben Sie bisher in diesem Magazin noch nicht kennen gelernt, daher in aller Kürze: Es handelt sich dabei wie beim Grid um ein Element zur einfachen Anordnung von Inhalten in vertikaler oder horizontaler Ausrichtung.

Das erste StackPanel-Element enthält einige untereinander darzustellende Elemente: Ein Label, einen TextBlock, eine Linie (Line) und ein weiteres StackPanel. Dieses soll seine Unterelemente nun horizontal ausrichten, also nebeneinander – und zwar ein Image-Element und ein Label-Element.

 

Schreibe einen Kommentar