Как отобразить изменяющий размеры рекламодатель на изображении, вставленном в RichEditBox? - PullRequest
1 голос
/ 06 февраля 2020

Я пытаюсь отобразить элементы изменения размера изображения, вставленного в 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);
                    }
                }
            }
        }

После того, как изображение вставлено, я могу изменить его размер, но когда я нажимаю на изображение, курсор не меняется, а средства изменения размера не отображаются вообще, что делает задачу изменения размера не очень удобной для пользователя. Другими словами, то, что я хочу, показано на рисунке ниже:

resizing adorners

Сначала я попытался адаптировать решение, которое я нашел для WPF в этом вопрос , но, к сожалению, UWP не имеет понятия об украшениях. Затем я попытался адаптировать решение , которое я нашел для Winforms, но которое основано на создании подкласса элемента управления RichTextBox и переопределить его метод WndProc, что также невозможно в UWP.

Итак, как я могу дополнить sh то, что я описал выше в UWP?

1 Ответ

0 голосов
/ 06 февраля 2020

Отображение размеров, изменяющих размеры, к изображению, вставленному в RichEditBox в приложении UWP.

Нет API, которое может изменить размер изображения, вставленного в RichEditBox в UWP, вам нужно настроить контроль и завернуть изображение внутри него. Перетаскивая элемент управления, чтобы изменить размер изображения. Или программирование в wpf или winform, а затем используйте настольный мост для преобразования его в приложение UWP.

...