Mam problem, który nie wiem, jak rozwiązać dokładnie tak, jakbym chciał go rozwiązać. Wyciągam tweety z określonych kanałów twitterowych, takich jak użytkownicy i # (przez wyszukiwanie .rss). Jednak niektóre z tweetów zawierają łącze, które nie jest klikalne, gdy jest wyświetlane w ListBox (datatemplate). Czy istnieje prosty sposób na konwersję wszystkiego w obrębie każdego tweeta, który zawiera "http: // < -link->" na link do faktycznego kliknięcia? Albo przez XAML lub C#.Klikalne linki w pobranych tweetach C#
Odpowiedz
stosunkowo łatwe, w C#:
- pociągnij URL się z Regex (przykład regex tutaj: What is the best regular expression to check if a string is a valid URL?)
- Wrap URL w tagu
<a>
i kierujhref
do adresu URL - Zastąp oryginalny adres URL w tweecie za pomocą skomponowanego znacznika zakotwiczenia
Jeśli nie masz predefiniowanego tekstu (a Ty nie masz), musisz rse tweet tekst, aby znaleźć hiperłącze i zamienić nieprzetworzony tekst na hiperłącze Run
. Zobacz poniżej linku na przykład:
Niestety, interfejs API WinRT nie obsługuje "hiperłącza" – AndreasB
znalazłem HtmlTextBlock kontrola użyteczne. Jest:
WPF TextBlock, które można analizować ograniczonego zestawu znaczników HTML i wyświetlać je (pierwotnie projekt Leung Chun Yat na CodeProject.com)
Jedynym problemem w Twoim przypadku jest że tagi mają inny format niż prawdziwy HTML, musisz napisać je w nawiasach kwadratowych ([]
) zamiast w nawiasach kwadratowych (<>
).
Oryginalny version of the code on CodeProject nie ostatni to, co musiałem zrobić kilka wyszukiwania i ostatecznie umieścić go jako github repository ponieważ jest open source (i właściciela błogosławieństwo) - jak readme repo wspomina, kod nie jest moje .
Hm - Nie używam HTML do tego celu. – AndreasB