2009-02-27 3 views
7

В WPF как я могу поместить регулярный UIElement с встроенным текстом? Например, определенная классификация текста заменила бы диапазон текста выпадающим списком, содержащим определенные параметры.WPF UIElements Inline с текстом «Украшения»

Я использовал такие объекты, как Span, Bold, Hyperlink, которые вносят небольшие изменения в текст, но я хочу, чтобы иметь возможность делать что-то более резкое и обычай. Можно ли реализовать аналогичный объект Inline для этого?

Я работаю над проектом, где у меня есть потребность в некоторых расширенных текстовых визуализациях. В частности, я хочу сделать что-то похожее на исходный редактор на основе WPF на Visual Studio 2010.

У меня будет часть текста, и различные компоненты будут смотреть на этот текст, ища части со специальным значением. Когда он найдет диапазон текста, он будет записывать/маркировать этот интервал. Затем другой набор компонентов перейдет по секретному тексту и добавит украшения на основе их классификаций.

Вы можете подумать об этом как умные теги для WPF.

Я действительно понятия не имею, с чего начать, вся документация по расширенному текста в WPF о анимации, пользовательские кисти, конвертировать в геометрии, и т.д. ...

ответ

13

Взгляните на InlineUIContainer и BlockUIContainer классов. Они позволяют устанавливать UIElement s в потоковое содержимое, например FlowDocument или TextBlock.

Вот пример кнопки встраиваются в TextBlock:

<TextBlock> 
    Some inline 
    <InlineUIContainer> 
     <Button Content="Hi" Click="Button_Click" /> 
    </InlineUIContainer> 
    inside the text. 
</TextBlock> 
+0

Спасибо, мой друг! Вы красивый, красивый человек; и не позволяйте никому говорить об этом иначе! – joshperry

+3

Wow WPF - это самое лучшее, что когда-либо создавала Microsoft, и используемая мной система u u (ex-cocoa guy here heehee) – Pierreten

Смежные вопросы