积极答复者
搜索结果中关键字高亮显示怎么实现?

问题
答案
-
XAML方案就相当复杂了,涉及到文字从RichTextBlock中获取和分割 ,重新组成Run元素,然后合并。 而且不好控制。 且其他比如TextBlock, 也是同样:
<TextBlock> <TextBlock.Inlines> <Run Text="A"/> <Run Foreground="Red" Text="B"/> <Run Text="C"/> </TextBlock.Inlines> </TextBlock>
你需要先遍历获取TextBlock中的Text,然后查找分割高亮,然后再组合成如上形式。
HTML就相对简单,只是对于文字元素之间添加不同的CSS Style.
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年11月5日 6:19
全部回复
-
具体描述? 什么搜索结果,是你自己应用中高亮还是Serach Contract那里高亮。
我们可以利用 RichTextBlock 来讲一段文字中部分高亮
<RichTextBlock x:Name="rtb"> <Paragraph> <Run Text="test "/> <Run Text="highlight " Foreground="#FFE22424"/> <Run Text="text"/> </Paragraph> </RichTextBlock>
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
具体描述? 什么搜索结果,是你自己应用中高亮还是Serach Contract那里高亮。
我们可以利用 RichTextBlock 来讲一段文字中部分高亮
<RichTextBlock x:Name="rtb"> <Paragraph> <Run Text="test "/> <Run Text="highlight " Foreground="#FFE22424"/> <Run Text="text"/> </Paragraph> </RichTextBlock>
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
情景是在collection的内容中搜索,将符合搜索关键字的内容呈现出来,并将关键字部分高亮显示。
比如Item.title="1234",搜索“23”,然后就将这个Item内容显示出来,并将title部分显示成23高亮,14正常:1234
-
XAML方案就相当复杂了,涉及到文字从RichTextBlock中获取和分割 ,重新组成Run元素,然后合并。 而且不好控制。 且其他比如TextBlock, 也是同样:
<TextBlock> <TextBlock.Inlines> <Run Text="A"/> <Run Foreground="Red" Text="B"/> <Run Text="C"/> </TextBlock.Inlines> </TextBlock>
你需要先遍历获取TextBlock中的Text,然后查找分割高亮,然后再组合成如上形式。
HTML就相对简单,只是对于文字元素之间添加不同的CSS Style.
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年11月5日 6:19