Wie kann ich eine Hover-Info-Blase mit der Maus darüber in WPF erscheinen?
Frage
Ich will machen Blase Text angezeigt, wenn der Mauszeiger über ein Textblock .
Der folgende Code ist die nächste, die ich bekommen kann, aber es spritzt nur Text in TextBox.Text selbst und ändert die Farbe. Ich möchte ein Beispiel haben Border / Stackpanel / TextBlock- über dem ursprünglichen Textblock auf eine andere Ebene schwimmend bei Mouseover.
Wie kann ich einen Hover-Panel ähnlich eine Web-Erfahrung mit dem Akronym Tag ?
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
namespace TestHover29282
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
TextBlock tb = new TextBlock();
tb.Text = "test";
tb.MouseEnter += new MouseEventHandler(tb_MouseEnter);
tb.MouseLeave += new MouseEventHandler(tb_MouseLeave);
MainStackPanel.Children.Add(tb);
}
void tb_MouseLeave(object sender, MouseEventArgs e)
{
TextBlock tb = sender as TextBlock;
tb.Background = new SolidColorBrush(Colors.Transparent);
tb.Text = "test";
}
void tb_MouseEnter(object sender, MouseEventArgs e)
{
TextBlock tb = sender as TextBlock;
tb.Background = new SolidColorBrush(Colors.Orange);
tb.Text += " - this should be in a popup bubble.";
}
}
}
Lösung
paar Möglichkeiten, wie Sie es tun, könnte man eine Werkzeugspitze mit einem benutzerdefinierten Stil verwenden. alternativly, können Sie ein Popup-Steuerelement verwenden, wird eine dritte Option wäre eine adorner zu verwenden.
Mein Bauch sagt Sie ein Tooltip wollen , tho.
<TextBlock ToolTip="stuff, could even be a custom control, etc" Text="my text" />
Sie können dann mit der ToolTipService aufsteckbaren Eigenschaften eine Vielzahl von Optionen für den Tooltip zu setzen, von Verzögerungen Tooltip Positionen
Andere Tipps