如何在RichEditBox中插入的图像中显示尺寸调整修饰符?

问题描述 投票:1回答:1

我正在尝试对UWP应用程序中RichEditBox中插入的图像显示调整大小的装饰物。

到目前为止,我可以使用以下代码插入图像:

        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

我最初尝试调整在此question中为WPF找到的解决方案,但不幸的是,UWP没有装饰者的概念。然后,我尝试适应为Winforms找到的solution,但是它依赖于RichTextBox控件的子类并覆盖其WndProc方法,在UWP中也是不可能的。

所以,我怎么能完成上面在UWP中描述的内容?

c# uwp windows-10-universal richeditbox
1个回答
0
投票

将调整大小的修饰符显示在插入到RichEditBox中的图像中UWP应用程序。

[没有api可以调整在UWP的RichEditBox中插入的图像的大小,您需要自定义控件并将图像包装在其中。通过拖动控件来调整图像大小。或使用wpf或winform进行编程,然后使用desktop bridge将其转换为UWP应用。

© www.soinside.com 2019 - 2024. All rights reserved.