2009-02-27 7 views
7

WPFではどのように普通のUIElementをテキストとインラインで並べ替えることができますか?たとえば、特定のテキストの分類は、テキストの範囲を特定のオプションを含むドロップダウンに置き換えます。WPF UIElement Inline with Text "Adornments"

私はSpan、Bold、Hyperlinkのようなオブジェクトを使って、インラインテキストに軽い変更を加えましたが、もっと劇的でカスタムなことをしたいのです。これを達成するために同様のインラインオブジェクトを実装できますか?

私はいくつかの高度なテキストビジュアルが必要なプロジェクトに取り組んでいます。具体的には、Visual Studio 2010 WPFベースのソースエディタに似た何かをしたいと思います。

私はテキストを持ち、様々なコンポーネントがそのテキストを見て特別な意味を持つ作品を探します。テキストの範囲を見つけると、そのスパンを記録/マークします。次に、別のコンポーネントのセットが分類されたテキストを調べ、その分類に基づいて装飾を追加します。

これはWPFのスマートタグのように考えることができます。

私は本当にどこから始めれば分からない、WPFで高度なテキスト上のすべてのドキュメントはなど、ジオメトリに変換し、カスタムブラシをアニメーション化についてです...

答えて

13

InlineUIContainerBlockUIContainerクラスを見てみましょう。それらは、FlowDocumentまたはTextBlockのように、フローコンテンツにUIElementを埋め込むことができます。

ここTextBlockにインライン化ボタンの例です:

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

は私の友人ありがとう!あなたは美しく美しい人です。誰もあなたに別のことを教えさせないでください! – joshperry

+3

Wow WPFは、Microsoftがこれまでに作成した最高のものであり、私が使用したフレームワーク(ex-cocoa guy here heehee) – Pierreten