Как отобразить статусы Twitter (псевдо-html) с помощью wpf (powerboots)
-
03-07-2019 - |
Вопрос
У меня есть такой текст: «Rails на IIS7 http://is.gd/vWPn » (это твит Шансельмана). Я хотел бы показать это как-то с помощью wpf. Как мне предварительно обработать текст и какие элементы управления использовать тогда?
Текущее решение состоит в том, что я создаю 2 элемента управления: Label и Hyperlink и добавляю их в TextBlock. В powerboots это выглядит так:
boots { border -borderthickness 10 -cornerradius 10 -borderbrush orange `
{ textblock { `
label 'Rails on IIS7' -backgr green; hyperlink 'http://is.gd/vWPn' -backg 'red' } `
} } -width 400
Однако это выглядит довольно странно - гиперссылка смещена, я понятия не имею, почему. alt text http://img12.imageshack.us/img12/1363/powerbootshl.jpg а> р>
Еще один вопрос - можно ли использовать Label для отображения текста? Я спрашиваю, потому что кажется, что лейбл не может обернуть его содержимое. Должен ли я использовать TextBlock или что-то еще?
Решение
Если честно, я ничего не знаю о PowerBoots. Однако:
Я думаю, что вы находитесь на правильном пути в том, что касается предварительной обработки текста. Вам нужно будет проанализировать текст из твита и выяснить, что такое ссылка @
, что такое гиперссылка
и т. Д. р>
С этим знанием вы можете начать заполнять свой TextBlock, как я думаю, вы пытались сделать в представленном вами коде. Однако вы правы, считая, что Label
не является правильным выбором. Фактически, нужный вам элемент называется Run
. Run
- это немного больше, чем просто текст, отсюда и термин. В конечном счете, для вашего простого примера код будет выглядеть так:
boots { border -borderthickness 10 -cornerradius 10 -borderbrush orange `
{ textblock { `
run 'Rails on IIS7' -backgr green; hyperlink 'http://is.gd/vWPn' -backg 'red' } `
} } -width 400
при условии, что я правильно понял синтаксис PowerBoots.