none
求教 ,RichEditBox 插入图片后,如何在图片底部预留出可以继续添加文字的空白位置? RRS feed

  • 问题

  • 大家好!

           我向RichEditBox中插入一张图片后 ,如果图片尺寸较大的话,会占满整个RichEditBox编辑区域,获取焦点后 ,输入的文字始终在图片的顶部,无法在图片的底部继续输入文字 ,请问这个问题如何解决呢?还有就是 RichEditBox中 无论图片大小 , 图片都不能被 删除键 删除掉 ,也无法选中 ,这是为什么呢?  谢谢 

    2014年12月6日 12:25

答案

  • 你好,

    >>1是插入图片后 删除键无法删除图片 ,2是图片占满屏幕的话,输入焦点只能在图片的上方,图片下方就不能输入文字了

    目前这种方式(也没有别的方式了,据我所知)插入的图片,是不可以删除的。

    对于图片下方输入的问题,经过测试,只有图片宽度比RichEditBox小一些的时候才可以正常输入,我这边想到的就是缩放图片,使得图片宽度不会超过控件编辑区域:

    //插入图片
    range.InsertImage((int)(editor.ActualWidth * 0.9), (int)(editor.ActualHeight * 0.9), 0, VerticalCharacterAlignment.Baseline, "image", stream);


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 DreamDays 2014年12月20日 14:34
    2014年12月15日 9:29
    版主

全部回复

  • 你好,

    你是如何插入图片的呢,最好提供下代码,我们好帮助你解决


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年12月8日 11:59
    版主
  • 不好意思 ,这周工作很忙 ,没搞WP  ,插入图片的代码如下

     if (file != null)
     {
             //获取图片文件的随机访问流
              using (var stream = await file.OpenAsync(FileAccessMode.Read))
                {
                          Point p = new Point();
                           //获取插入点
                           richBox.Document.Selection.GetPoint(HorizontalCharacterAlignment.Left, VerticalCharacterAlignment.Top, PointOptions.None, out p);
    
                         //根据坐标获取文本范围
                         ITextRange range = this.richBox.Document.GetRangeFromPoint(p, PointOptions.None);
                      
              
                        //插入图片
                        range.InsertImage((int)width, (int)height, 0, VerticalCharacterAlignment.Baseline, "image", stream);
                                    
     
                }
     }

    插入后效果如下 :

    此时 想要继续输入文字只能够在图片上方获取输入焦点,并且 图片也无法通过删除键删除掉 .  问题就是这样的

    2014年12月13日 3:55
  • 你好,

    你是如何插入图片的呢,最好提供下代码,我们好帮助你解决


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    版主大大好!

           我是通过三楼的方式插入图片的 ,目前有两问题不好解决 ,1是插入图片后 删除键无法删除图片 ,2是图片占满屏幕的话,输入焦点只能在图片的上方,图片下方就不能输入文字了 %>_<%

    2014年12月13日 4:03
  • 你好,

    >>1是插入图片后 删除键无法删除图片 ,2是图片占满屏幕的话,输入焦点只能在图片的上方,图片下方就不能输入文字了

    目前这种方式(也没有别的方式了,据我所知)插入的图片,是不可以删除的。

    对于图片下方输入的问题,经过测试,只有图片宽度比RichEditBox小一些的时候才可以正常输入,我这边想到的就是缩放图片,使得图片宽度不会超过控件编辑区域:

    //插入图片
    range.InsertImage((int)(editor.ActualWidth * 0.9), (int)(editor.ActualHeight * 0.9), 0, VerticalCharacterAlignment.Baseline, "image", stream);


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 DreamDays 2014年12月20日 14:34
    2014年12月15日 9:29
    版主