2017-07-11 3 views
0

Ich habe eine WPF-App, an der ich gerade arbeite.Fügen Sie einen Aktionslink in Text in WPF ein.

Es gibt ein Etikett auf meinem Fenster, das ich als Statusfenster verwende, das ich mit einem Singleton verwalte.

Wie füge ich einen Link in dieses Label ein?

Alle Antworten, die ich hier sehe, haben mit der Änderung des XAML oder der Art des Labels zu tun. Diese Lösungen funktionieren nicht, da buchstäblich alles in diesem Statusfenster angezeigt werden kann.

Ich möchte, dass der Link ein benutzerdefiniertes Ereignis auslöst, wenn er angeklickt wird.

Weiß jemand, wie man das macht?

Beispiel, wie der auf das Etikett hochgeladene Text funktionieren soll. Ich brauche ein Ereignis auszulösen, wenn das Hypertext-Format Wort geklickt wird:

enter image description here

+1

[Hyperlink] (https://stackoverflow.com/questions/140996/how-can-i-set-the-text-of-a-wpf-hyperlink-via-data-binding). –

+0

@Lei Yang, funktioniert nicht. Ich glaube nicht, dass irgendeine XAML-Lösung dies tut. Ich muss einen einzelnen Link in Text einfügen und diesen Text auf meinem Label veröffentlichen. Ich bin ziemlich positiv, was auch immer die Lösung ist, es wird komplett C# sein. –

+0

können Sie eine Bildschirmaufnahme hochladen, wie das erwartete Ergebnis ist? –

Antwort

1

„einen Link in den Text einfügen“ ist das gleiche wie ein Hyperlink, um die Inlines Sammlung eines TextBlock fügte hinzu:

TextBlock tb = new TextBlock(); 
var hp = new Hyperlink(new Run("error")); 
hp.Click += (s, e) => { /* do something */ }; 
tb.Inlines.Add(new Run("There was as an ")); 
tb.Inlines.Add(hp); 
tb.Inlines.Add(new Run(" on run")); 

Dies ist die einzige Möglichkeit, dies in WPF zu tun, und es ist sehr einfach.

+0

Genau das habe ich gebraucht. Arbeitete perfekt. –

Verwandte Themen