Я пытаюсь отобразить элементы изменения размера изображения, вставленного в RichEditBox в приложении UWP.
Пока что я могу вставить изображение, используя следующий код:
private async void InsertImage()
{
var picker = new FileOpenPicker { SuggestedStartLocation = PickerLocationId.PicturesLibrary };
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".png");
var files = await picker.PickMultipleFilesAsync();
if (files.All(file => file != null))
{
foreach (var file in files)
{
using (var stream = await file.OpenAsync(FileAccessMode.Read))
{
var image = new BitmapImage();
await image.SetSourceAsync(stream);
textEditor.Document.Selection.InsertImage(image.PixelWidth / 2, image.PixelHeight / 2, 0, VerticalCharacterAlignment.Baseline,
file.DisplayName, stream);
}
}
}
}
После того, как изображение вставлено, я могу изменить его размер, но когда я нажимаю на изображение, курсор не меняется, а средства изменения размера не отображаются вообще, что делает задачу изменения размера не очень удобной для пользователя. Другими словами, то, что я хочу, показано на рисунке ниже:
Сначала я попытался адаптировать решение, которое я нашел для WPF в этом вопрос , но, к сожалению, UWP не имеет понятия об украшениях. Затем я попытался адаптировать решение , которое я нашел для Winforms, но которое основано на создании подкласса элемента управления RichTextBox и переопределить его метод WndProc
, что также невозможно в UWP.
Итак, как я могу дополнить sh то, что я описал выше в UWP?