积极答复者
图片和文本混合显示的方法

问题
答案
-
这个完全通过XAML是实现不了的,你需要在字符串绑定上RichTextBlock之后,也就是显示好之后,你去将里面的内容Replace掉。通过正则或者字符串搜索找到你要替换的特殊字符,然后换上图片。你需要了解RichTextBlock 中文档是怎么组织的,要用到 TextPoiner 类型。
我以前有过类似的帖子,不过是WPF的,你可以参考看看,但在Metro下很多变了:http://social.msdn.microsoft.com/Forums/en/wpf/thread/86902bf5-72d4-41de-89ab-3bc20200d44c
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 edmundzhang 2012年7月11日 6:42
-
回家来想了想,可能你还可以看看下面的几个方案:
- 在构建你的数据源的时候,就进行转换,遍历你的字符串内容,生成不同的TextBlock和Image,然后将生成的内容组合好放入界面的DataTemplate中的一个ContentControl.Content属性中。
- 创建一个用户控件,里面可以放置RichTextBlock,或者就是TextBlock和Image的组合,然后设计一个自定义的依赖属性,在这个属性被绑定修改的时候,也就是我们在DataTemplate中向这个控件绑定赋上字符串的时候,调用依赖属性的PropertyChangedCallBack 在其中进行字符串转换,生成文本图像结合的内容,展现在用户控件中。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 edmundzhang 2012年7月11日 6:42
全部回复
-
人家可能是HTML5实现的,XAML下的方案基本上是 RichTextBlock 和 RichEditBox 来实现
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
如果ListBox绑定到一个集合,集合的Item是String,但是String中的特殊子字符串需展现为图片。把Listbox的数据源绑定到此集合,那数据模板应该怎么来做呢?如果用RichTextBlock 的话,应该怎样定义,以及如何来实现图片的转换。思路很紊乱,不知道这样能不能实现!!!??
-
这个完全通过XAML是实现不了的,你需要在字符串绑定上RichTextBlock之后,也就是显示好之后,你去将里面的内容Replace掉。通过正则或者字符串搜索找到你要替换的特殊字符,然后换上图片。你需要了解RichTextBlock 中文档是怎么组织的,要用到 TextPoiner 类型。
我以前有过类似的帖子,不过是WPF的,你可以参考看看,但在Metro下很多变了:http://social.msdn.microsoft.com/Forums/en/wpf/thread/86902bf5-72d4-41de-89ab-3bc20200d44c
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 edmundzhang 2012年7月11日 6:42
-
回家来想了想,可能你还可以看看下面的几个方案:
- 在构建你的数据源的时候,就进行转换,遍历你的字符串内容,生成不同的TextBlock和Image,然后将生成的内容组合好放入界面的DataTemplate中的一个ContentControl.Content属性中。
- 创建一个用户控件,里面可以放置RichTextBlock,或者就是TextBlock和Image的组合,然后设计一个自定义的依赖属性,在这个属性被绑定修改的时候,也就是我们在DataTemplate中向这个控件绑定赋上字符串的时候,调用依赖属性的PropertyChangedCallBack 在其中进行字符串转换,生成文本图像结合的内容,展现在用户控件中。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 edmundzhang 2012年7月11日 6:42