我正在尝试在 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);
}
}
}
}
插入图像后,我可以调整它的大小,但是当我单击图像时,光标不会改变,调整大小的装饰器根本不会显示,这使得调整大小的任务对用户不太友好。换句话说,我想要的如下图所示:
我最初尝试调整我在这个问题中为 WPF 找到的解决方案,但不幸的是 UWP 没有装饰器的概念。然后,我尝试调整我为 Winforms 找到的解决方案,但这依赖于对 RichTextBox 控件进行子类化并覆盖其WndProc
方法,这在 UWP 中也是不可能的。
那么,我怎样才能在 UWP 中完成我上面描述的内容呢?