Добавьте обработчик к изображениям в RichTextBox в Silverlight - PullRequest
0 голосов
/ 15 марта 2011

В Silverlight мы можем вставить изображение в RichTextBox с помощью InlineUIContainer. Сейчас я пытаюсь добавить некоторые обработчики для этого изображения. Вот мой код:

InlineUIContainer contain = new InlineUIContainer();
Image image = new Image();
ImageSource img = new BitmapImage(new Uri(Source,UriKind.RelativeOrAbsolute));
image.SetValue(Image.SourceProperty, img);
image.MouseEnter +=new MouseEventHandler(image_MouseEnter);
container.Child = image;
rtb.Selection.Insert(contain);

Однако, когда мы перемещаем мышь, вводим это изображение, ничего не происходит. Я пытаюсь добавить некоторые обработчики, такие как изменение размера, нажатие и перетаскивание. Является ли это возможным? Я ценю за любые ответы. Спасибо!

Ответы [ 3 ]

1 голос
/ 27 апреля 2011

Кроме того, вчера вечером я придумал новое решение той же проблемы.Я проверяю, нажимаю ли я (RTB_OnLeftMouseDown) на одно из моих изображений, основываясь на циклическом просмотре всех изображений в BlockControl и просмотре viewRect элемента управления блока.Затем я перехожу в режим ReadOnly, пока меняю размер, пока снова не нажму на изображение (вернусь в режим редактирования).Это позволяет мне размещать на изображении маленькие надстройки изменения размера и получать все события мыши на изображении.Это довольно сложное решение, поэтому вы можете пойти другим путем.

0 голосов
/ 27 апреля 2011

FlowDocument RichTextBoxes отключен, поэтому никакие события не обрабатываются, см. мой вопрос для получения дополнительной информации и возможного обходного пути.

0 голосов
/ 27 апреля 2011

Причина, по которой ничего не происходит, заключается в том, что в режиме EDIT (IsReadOnly == false) для richtextbox никакие события не запускаются внутри richtextbox.Вы можете обойти это, но это сложно.Вы помещаете обработчики событий в RichTexTBox, затем вы получаете визуальный прямоугольник изображений в richtextbox и проверяете, находится ли точка аргументов события мыши внутри изображения.http://forums.silverlight.net/forums/p/224490/541921.aspx

...