Как отобразить статусы Twitter (псевдо-html) с помощью wpf (powerboots)

StackOverflow https://stackoverflow.com/questions/813544

  •  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.

scroll top