Richtextbox图片编辑的问题,呼叫Jv9等等大神

bearben2010 2011-08-26 04:37:46
插入图片并不难,网上有一个被转来转去的方法,大概的过程就是
1)先将图片读取到一个image控件中
2)将image添加到动态创建的InlineUIContainer
3)将动态创建的InlineUIContainer添加到Richtextbox光标所在位置

我的问题是:
1)如何用鼠标拖拉图片,以控制其大小。就像我们在vs设计页面拖拽控件大小一样(只拖拽大小即可,不用拖动位置)
2)对于这种动态添加的Image,为什么给他设置了mouseenter事件不起作用,而在xaml设计阶段加入的image的mouseenter事件可以触发
...全文
165 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
纷享刘晨 2011-09-05
  • 打赏
  • 举报
回复
RichTextBox必须是IsReadOnly状态,其中的UIElement才可以接收事件

记得是这样
bearben2010 2011-08-31
  • 打赏
  • 举报
回复
都不关心这个问题?顶一下也好啊
bearben2010 2011-08-29
  • 打赏
  • 举报
回复
其实我是想做一个简单点的文本编辑器。看了一些非付费的文本编辑器,没看到可以设置图片格式的。所以想自己实现一下。
但是,动态添加到richtextbox中的图片即便挂上了事件,依然不会触发,我怀疑是被richtextbox内部和谐了

BitmapImage tempBitmap = new BitmapImage();
using (var tempStream = tempItem.OpenRead())
{
tempBitmap.SetSource(tempStream);
}
Image tempImg = new Image();
tempImg.MouseEnter += (s, ee) =>
{
MessageBox.Show("adf");
};
tempImg.Source = tempBitmap;
InlineUIContainer tempInlineUIContainer = new InlineUIContainer();
tempInlineUIContainer.Child = tempImg;
richTextBox1.Selection.Insert(tempInlineUIContainer);
richTextBox1.Focus();
Architecture Net 2011-08-28
  • 打赏
  • 举报
回复
为这个Image手动添加一个事件试试。
海涵德 2011-08-28
  • 打赏
  • 举报
回复
你是怎样为image对象添加mouseenter事件的,贴出代码才能看到问题,一般情况应该是这样的:


private void img_MouseEnter( object sender, MouseEventArgs e)
{
// 代码部分
}

Image img = new Image();
img.MouseEnter +=new MouseEventHandler(img_MouseEnter);
jv9 2011-08-28
  • 打赏
  • 举报
回复
问题1: 图片大小控制可以使用ViewBox实现
http://www.silverlightchina.net/html/tips/2010/0102/544.html
http://www.silverlightchina.net/html/study/WPF/2011/0221/5509.html
http://www.silverlightchina.net/html/tips/2011/0713/8958.html

问题2: 你的mouseenter事件,在code中如何触发的呢?
bearben2010 2011-08-26
  • 打赏
  • 举报
回复
木有人?

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧