2009-02-27 28 views
7

在WPF中,我如何才能將常規UIElement與文本內聯?例如,文本的某種分類將用包含特定選項的下拉列表替換一段文本。WPF UIElements內嵌文本「飾品」

我已經使用了跨度,粗體,超鏈接等對內聯文字進行一些輕微修改的對象,但我希望能夠做一些更加激烈和自定義的操作。我可以實現一個類似的Inline對象來完成這個任務嗎?

我正在研究一個需要一些高級文本視覺效果的項目。具體而言,我想做一些類似於基於Visual Studio 2010 WPF的源代碼編輯器。

我會看到一段文字,各種組件會看那段文字,尋找具有特殊含義的文字。當它找到一段文字時,它會記錄/標記該範圍。然後,另一組組件將檢查分類文本並根據分類添加裝飾。

你可以想到這就像WPF的智能標籤。

我真的不知道從哪裏開始,所有在WPF先進的文本文檔是關於動畫,自定義畫筆,轉化爲幾何,等...

回答

13

看看的InlineUIContainerBlockUIContainer類。它們允許UIElement被嵌入流內容中,如FlowDocumentTextBlock

這裏有一個TextBlock內聯按鈕的例子:

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

謝謝我的朋友!你是一個美麗,美麗的人;別讓任何人告訴你! – joshperry 2009-02-27 14:01:00