Wie kann ich einen Ballon in der Spitze über eine textbox?
Ich habe eine C# WPF-Anwendung mit XAML und MVVM. Meine Frage ist: Wie kann ich einen Ballon-tooltip oben ein Textfeld für einige ungültige Daten vom Benutzer eingegeben?
Möchte ich von Microsoft verwenden native be -. Wie würde ich das umsetzen, dies in meine Bewerbung?
Andere SO ein post zu diesem Thema: stackoverflow.com/questions/2310102/.... Vielleicht helfen Ihnen. Sie erwähnen auch die gleiche URL wie du.
Keiner von denen, die native Windows-Ballon. Ich war bereits dort, und es war nicht hilfreich, das ist, warum ich habe meine eigene Frage.
Keiner von denen, die native Windows-Ballon. Ich war bereits dort, und es war nicht hilfreich, das ist, warum ich habe meine eigene Frage.
InformationsquelleAutor qJake | 2011-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe die Suche nach einer besseren Lösung als die BalloonDecorator, und lief über die http://www.hardcodet.net/projects/wpf-notifyicon Projekt. Es ist mit der WinAPI auf der untersten Ebene, die möglicherweise geben Ihnen einen Vorsprung auf den Aufbau Ihrer eigenen Lösung. Es scheint, dass auf den ersten Blick könnte es potenziell zu lösen, aber ich habe nicht genug Zeit gehabt, um zu überprüfen, dass der BalloonTip vorgenommen werden können, Verhalten sich wie Sie beschrieben haben.
Viel Glück auf Ihr Projekt!
Kein problem. Wenn Sie eine passende Lösung finden, bitte posten, damit der rest von uns kann sehen, was Sie erreicht haben.
Natürlich, Mach ich immer.
So, ich habe lieber eine benutzerdefinierte WPF-window als tooltip angezeigt wird, anstatt die Kombination von alten Winforms-Kram in meiner Anwendung, und da dieses Projekt ist das beste Beispiel dafür, bekommt er das Kopfgeld. Hinzufügen von Winforms-Elemente in Ihre WPF-Fenster ist eine praktikable option, wenn Sie behandeln können, die ältere text-box (oder was auch immer andere Steuerung), aber es war nicht das, was ich suchte. Eine andere Lösung ist auf P/Invoke die tooltip-Aufrufe in Win32 -, sondern einem eigenen Fenster in WPF ist wahrscheinlich einfacher/schneller.
InformationsquelleAutor
Fügen Sie einfach einen Verweis auf System.Windows.Formen und C:\Program Files\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\WindowsFormsIntegration.dll
und dann:
- und dies ist ein Beispiel für WinForm-ToolTip Ballon in WPF:
Hoffe diese Hilfe!
Das sieht aus wie genau das, was ich brauchte, ich werde es versuchen, wenn ich nach Hause komme und die Auszeichnung der bounty, wenn es funktioniert. Danke!!!
Dies ist nicht nur eine WinForms-tooltip, es ist auch putting ein WinForms TextBox innerhalb einer WPF-Anwendung. Das scheint wie ein ziemlich schlechter Weg zu gehen.
Das funktioniert nicht, und ist nicht das, was ich Suche. Nicht nur, dass ich nicht wollen, einen Verweis auf System.Windows.Formen und WindowsFormsIntegration der code nicht produzieren ein toolip-Blase, wie es sollte, es füllt einfach mein raster mit einer Formular-Textfeld.
Außer es gibt keine native WPF-tooltip, das Microsoft zur Verfügung hat. - Warum hat niemand vorgeschlagen, dass ich rufen Sie einfach den Tooltip nativ mit einigen P/Aufruft?
InformationsquelleAutor
Dieses Projekt BalloonDecorator ist eine dass ich mit auf ein Aktuelles Projekt zu zeigen, Hilfe, Hinweise und Fehlermeldungen. Ich weiß, Sie ändern könnte, Ihre Fehler-Vorlage zum anzeigen dieser Dekorator, wie Sie konnten zeigen, ein Symbol anstelle des roten Grenzen. Der Vorteil der Verwendung von einem Dekorateur ist, können Sie es so Aussehen, aber Sie möchten, und nicht davon abhängen, WinForms.
BalloonDecorator.cs
Nur stellen Sie sicher, dass diese Klasse den namespace geladen wird in der XAML-Importe (ich benutze einen namespace mit der Bezeichnung "Rahmen"), und es ist einfach zu verwenden:
Offensichtlich, ich Band die Sichtbarkeit einer verbindlichen, aber Sie konnte einfach legen Sie es auf true und setzen Sie diese in Ihrem Validierung.ErrorTemplate.
Hoffe, das hilft!
Sicher, kein problem. Wenn Sie nichts dagegen haben, den hybrid-WinForms/WPF-Lösung, das ist wahrscheinlich Ihre beste Wette, die anderen als das schreiben einer WPF-Kapselung der WinAPI für den tooltip.
Sicher, ich mag es lieber, aber nur wenn es nicht zu werfen NullReferenceExceptions wenn ich versuche es aufzurufen. 😉
InformationsquelleAutor
Vielleicht können Sie hosten eines Windows Forms-Steuerelements in WPF mit der WindowsFormsHost geben.
Es gibt ein walkthrough auf MSDN verfügbar, wie dies zu tun:
Hosten eines Windows Forms-Composite-Control in WPF
Mit dieser Technik könnte man vielleicht verwenden die System.Windows.Formen.ToolTip Kontrolle. Wenn Sie dieses Steuerelement IsBalloon Eigenschaft auf true, es wird angezeigt, wie ein Ballon-Fenster.
System.Windows.Forms
Bibliothek.InformationsquelleAutor