2012-09-05 20 views
2

添加表情符號RichTextBox中可能重複:
how to add emoticons(smileys) into WPF richtext box如何在WPF

現在,我想知道,如何在WPF中添加表情符號RichTextBox中。 例如:當我輸入hi :)時,它將在RichTexBox中返回爲圖像(微笑圖像)。 我希望你能幫助我。如果有人知道解決或示例代碼

感謝

+0

同樣的問題已發佈:http://stackoverflow.com/questions/3674733/how-to-add-emoticonssmileys-into-wpf-richtext-box – HichemSeeSharp

回答

1

,沒有這個預建的解決方案,但你使用WPF,您可以反應通過在RichTextBox內改變文本的TextChanged事件或通過您的PropertyChanged - 如果它是MVVM-。

一旦你知道文本改變了你給它一通通過一個簡單的搜索(有更好的方式方法來做到這一點解析,但對於一個簡單的例子的目的只是用一個簡單的字符串搜索)。如果你發現你想要的文字,我的意思是,令牌對應你的笑臉hi :),那麼你可以通過與FlowDocument的打在RichTextBox

內插在該位置上的圖像解析

<RichTextBox> 
    <FlowDocument> 
    <Paragraph> 
     <Run>Hello :) world!</Run> 
    </Paragraph> 
    </FlowDocument> 
</RichTextBox> 

之前解析後

<RichTextBox> 
    <FlowDocument> 
    <Paragraph> 
     <Span> 
     <Run Text="Hello"/> 
     <Image Width="16" Source="Your emoticon source"/> 
     <Run Text=" world"/> 
     </Span> 
    </Paragraph> 
    </FlowDocument> 
</RichTextBox> 

這應該給你一個如何開始的想法。

+0

你的解決方案是最好的me.if我想用在C#後面的代碼,我怎麼能? – ppp

+0

然後在您的XAML中爲TextChanged事件生成一個委託並對該方法進行更改,然後通過屬性設置RichTextBox內容(請記住,您不會有像.Text屬性那樣的東西,但是FlowDocument實際上是你需要的一個)。 –

+0

我是初學者WPF,我不清楚。你能告訴我一些例子嗎? – ppp