我想让当鼠标悬停在TextBlock上时出现文本气泡。
以下代码是我能得到的最接近的代码,但它只是将文本注入 TextBox.Text 本身并更改颜色。我想要一个例如鼠标悬停期间,原始文本块上方的边框/StackPanel/TextBlock 浮动在不同的图层上。
如何使用首字母缩略词标签制作类似于网络体验的悬停面板?
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.";
}
}
}
我的直觉告诉你你想要一个
工具提示,不过。
<TextBlock ToolTip="stuff, could even be a custom control, etc" Text="my text" />
然后,您可以使用
ToolTipService 可附加属性为所述工具提示设置各种选项,从延迟到工具提示位置
System.Windows.Controls.ToolTip 类.