如何使悬停信息气泡出现在 WPF 中的鼠标悬停上?

Posted

技术标签:

【中文标题】如何使悬停信息气泡出现在 WPF 中的鼠标悬停上?【英文标题】:How can I make a hover info bubble appear on mouseover in WPF? 【发布时间】:2010-12-22 22:39:48 【问题描述】:

我想让文本气泡在鼠标悬停在TextBlock上时出现。

以下代码是我能得到的最接近的,但它只是将文本注入 TextBox.Text 本身并更改颜色。我想要一个例如在鼠标悬停期间,原始文本块上方的边框/StackPanel/TextBlock浮动在不同的图层上

如何使用acronym 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.";
        

    

【问题讨论】:

【参考方案1】:

您可以使用多种方法,一种是使用带有自定义样式的工具提示。 或者,您可以使用弹出控件,第三种选择是使用装饰器。

我的直觉说你想要一个tooltip,但是。

<TextBlock ToolTip="stuff, could even be a custom control, etc" Text="my text" />

然后您可以使用ToolTipService 可附加属性为所述工具提示设置各种选项,从延迟到工具提示位置

【讨论】:

【参考方案2】:

Tooltip property

【讨论】:

以上是关于如何使悬停信息气泡出现在 WPF 中的鼠标悬停上?的主要内容,如果未能解决你的问题,请参考以下文章

当我将鼠标悬停在另一个 div 上时,如何使文本出现在一个 div 中?

用WPF实现在ListView中的鼠标悬停Tooltip显示

如何使PNG中的悬停在透明度上不计为悬停?

仅当我将鼠标悬停在其上时如何使图像出现

如何在 WPF 中删除鼠标悬停时的按钮发光

jQuery 菜单下拉气泡