WPF-Tooltip-Bindung

8

Ich bin erst zwei Wochen in WPF, also ist das wahrscheinlich eine triviale Frage. Ich habe eine Sammlung "CellList", die einige Eigenschaften hat, die ich an ein ToolTip binden möchte. Wenn ich also den Mauszeiger über ein Label halte, wird Information von der aktuellen Instanz von CellList angezeigt. Wie mache ich das? Ich verstehe einfache Bindung und diese vielleicht einfache Bindung auch, aber ich kann meinen Kopf nicht darum herumwickeln. Unten ist mein XAML für das Label. Könnte mir jemand erklären, wie ich das erreichen kann?

%Vor%

Danke.

    
Nathan 06.02.2010, 05:25
quelle

3 Antworten

15
%Vor%

versuche es einfach

    
Kishore Kumar 06.02.2010, 05:54
quelle
19

Das Problem bei ToolTip s ist, dass ein ToolTip ein Objekt ist, das Sie einem Steuerelement zuordnen und nicht Teil des visuellen Baums des Steuerelements. Sie können es also nicht so füllen, wie Sie Dinge in den visuellen Baum einfügen würden, z. B .:

%Vor%

Stattdessen müssen Sie eine spezifische Instanz einer QuickInfo erstellen und ihr einen Style zuweisen, der ihr DataContext festlegt (sehr wichtig; so können Sie an die Eigenschaften der Datenquelle ihrer "Platzierung" binden) target ", dh das Steuerelement, das den Tooltip anzeigt, und seine Template . Fügen Sie dann den visuellen Baum von ToolTip , einschließlich Bindings, in die Vorlage ein. Verweisen Sie schließlich auf das ToolTip in Ihrem Steuerelement.

Also, hier ist ein TextBox , dessen Binding Validierung macht:

%Vor%

Es verwendet dieses ToolTip :

%Vor%

Und der ToolTip verwendet diesen Stil, der seinen Inhalt von der ValidationError Eigenschaft der TextBox 's Bindungsquelle bezieht:

%Vor%

Ich bin mir nicht sicher, aber ich denke, dass der einzige Teil des Obigen, der tatsächlich im Stil gesetzt werden muss, der DataTrigger ist, der DataContext setzt; Ich denke, dass alles andere nur explizit im visuellen Baum von ToolTip festgelegt werden kann. Aber ich denke wahrscheinlich nicht an etwas Wichtiges.

    
Robert Rossney 06.02.2010 19:32
quelle
4

Hier ist ein kaxaml-fähiges Beispiel, das einen Tooltip enthält, der etwas ausgeklügelter ist als nur Text:

%Vor%     
Dr. WPF 06.02.2010 19:47
quelle