如何在文本框中显示气球提示?

qJa*_*ake 12 c# wpf mvvm balloon-tip

我有一个使用XAML和MVVM的C#WPF应用程序.我的问题是:如何在文本框上方显示用户输入的某些无效数据的气球工具提示?

我想使用微软的原生气球控制.我如何将这个实现到我的应用程序中?

ARZ*_*ARZ 12

只需添加对System.Windows.FormsC:\ Program Files\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\WindowsFormsIntegration.dll的引用 ,然后:

    WindowsFormsHost host =new WindowsFormsHost();

    var toolTip1 = new System.Windows.Forms.ToolTip();

    toolTip1.AutoPopDelay = 5000;
    toolTip1.InitialDelay = 1000;
    toolTip1.ReshowDelay = 500;
    toolTip1.ShowAlways = true;
    toolTip1.IsBalloon = true;
    toolTip1.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info;
    toolTip1.ToolTipTitle = "Title:";

    System.Windows.Forms.TextBox tb = new System.Windows.Forms.TextBox();
    tb.Text="Go!";
    toolTip1.SetToolTip(tb, "My Info!");
    host.Child = tb;
    grid1.Children.Add(host);  //a container for windowsForm textBox 
Run Code Online (Sandbox Code Playgroud)

这是WPF中WinForm ToolTip Ballon的示例:

在此输入图像描述

希望这有帮助!

  • 这不仅仅是使用WinForms工具提示,它还将WinForms _TextBox_放在WPF应用程序中.这似乎是一个非常糟糕的方式. (9认同)

Bah*_*gor 2

我一直在寻找比 BalloonDecorator 更好的解决方案,并浏览了http://www.hardcodet.net/projects/wpf-notifyicon项目。它在最低级别使用 WinAPI,这可能会让您在构建自己的解决方案方面领先一步。乍一看似乎可以解决这个问题,但我没有足够的时间来验证 BalloonTip 是否可以按照您所描述的那样运行。

祝你的项目好运!