首页 新闻 会员 周边

WPF 如何在RichTextBox 上添加GIF 图片

0
悬赏园豆:120 [待解决问题]

大家好,不知道大家在用WPF 有没有遇到这样的问题,我发现WPF 没有支持动画GIF 的图片控件,没有像WinForm 那样 直接用PictureBox 装载GIF 图片就能动起来了。

在开发中遇到这样两个问题

1. 在WPF 中,如何在RichTextBox 中添加一个GIF 图片,动画的,就像QQ 的笑脸表情或者哭表情的图片,如果加载在RichTextBox 中并且可以是动画的

2.成功加载动画的GIF 图片到当前的RichTextBox 之后,把当前RichTextBox 的内容赋值给另外的一个RichTextBox 时,图片也是动画的

 

这个问题该怎么样解决呢,我该如何处理?

劲草的主页 劲草 | 初学一级 | 园豆:66
提问于:2012-05-31 14:46
< >
分享
所有回答(2)
0

自己也扩展Image 写了一个加载GIF 的类,可以在导入Xaml 是报异常。

这是将当前RichTextBox 的内容加载到另外RichTextBox 的方法:

           RichTextBox rtbb = sender as RichTextBox;
            string s = rtbb.Tag.ToString();

            System.IO.StringReader sr1 = new System.IO.StringReader(s);

            System.Xml.XmlReader xr1 = System.Xml.XmlReader.Create(sr1);

            FlowDocument ff = (FlowDocument)XamlReader.Load(xr1);
            rtbb.Document = ff;  

    抛出的异常:

“在类型“System.Windows.Interop.InteropBitmap”上未找到匹配的构造函数。可以使用 Arguments 或 FactoryMethod 指令来构造此类型。”,行号为“1”,行位置为“1041”。

     

劲草 | 园豆:66 (初学一级) | 2012-05-31 14:56
0

起初我也拓展Image用来显示gif动态图片,在richtextbox1中可以显示正常,导入richtextbox2时也遇到了导入XAML异常的现象,后来不直接使用拓展控件,而是在richtextbox1中创建button,在资源文件定义button的Template style,在样式中用拓展控件显示,这样导入到richtextbox就不会报错了

 

        <Style x:Key="BQBtn" TargetType="Button">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <my1:GifImage Source="{TemplateBinding Tag}" Width="{TemplateBinding Width}"
                                      Height="{TemplateBinding Height}">
                        </my1:GifImage>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

 

程序中直接创建 new button(){style=BQBtn} 即可解决

雷立地 | 园豆:202 (菜鸟二级) | 2012-09-02 13:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册