Beste Weg das zu erreichen unterstrichenen hyperlink auf Windows-Store-apps?
Von dem, was ich gelesen habe, scheint es keine Funktion zu erreichen, um eine Unterstreichung für TextBlock
s oder HyperlinkButton
s oder ähnliches in Windows RT, das erscheint lächerlich, aber dennoch, hat jemand einen eleganten Ansatz zur Bewältigung dieser, speziell eine Verknüpfung zu erstellen, die läuft ein Click
Ereignis oder Befehl Bindung?
Wie Sie sehen können out-of-the-box-Unterstützung scheint nicht zu existieren: http://social.msdn.microsoft.com/Forums/en-CA/winappswithcsharp/thread/cba0c363-60da-4e
- Wie @Soheil ' s Antwort zeigt, es ist ruhig, einfach zu erreichen, unterstreicht in beiden Fällen. Und wenn Sie denken, die zugrunde liegenden "Modern UI" - design-Prinzip, um die übersichtlichkeit zu bewahren, dann ist es eigentlich nicht lächerlich erscheinen, dass die hyperlinks nicht Unterstrichen standardmäßig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, wie ich dieses problem gelöst vor.
Wenn Sie die WinRT XAML toolkit Sie können setzen Sie den cursor mit der Erweiterung, wie oben angegeben.
HyperlinkButton
noch verändert sich der cursor zuHand
standardmäßig.Wenn Sie müssen (wie in meinem Fall) Vorlage die
HyperlinkButton
, halten Sie Ihre Bindungen in den Blick, in, die Sie tun können, dass auf diese Weise:...und dann in deinem XAML anzeigen, zum Beispiel:
In dieser Weise können Sie auch lösen @sacha problem mit Bindungen!
Können Sie eine RichTextBlock mit eingebetteten HyperlinkButtons. Wenn man sich RichTextBlockExtensions - Sie können es verwenden, um bind-html-text-Fragmente (mit Anker-tags) automatisch Auffüllen RichTextBlock mit einem verknüpften text-setup.
Das problem mit den oben genannten Hyperlinkbutton, soweit ich weiß, ist, dass der Text nicht gebunden, so dass Sie bis zum Ende wiederholen, dass TextBlock/Unterstreichen/Run Muster für jeden hyperlink-Schaltfläche. Viel besser wäre die machen es zu einem Stil.
Beispielsweise wenn Sie dies versuchen, wird es nicht funktionieren und eine UnhandledException-Auftritt
Die einzige Möglichkeit, die ich gefunden, um dieses Problem beheben, in dem der hyperlink-text wurde auch gebunden war, ein fake unterstreichen Rechteck und einen normalen Knopf. Ich zeige dann die Unterstreichung (fake-Rechteck) auf der Grundlage, ob der Mauszeiger über der Schaltfläche. Hier ist der relevante code:
Nicht die beste Lösung, aber es ist bindbar, für die Inhalte (text-link), und es ist eine generische Lösung.
Run
s sind perfekt angebunden in einer Windows Store-app.