【发布时间】:2021-10-23 18:40:34
【问题描述】:
所以,.NET WinUI 3 的学习资源非常稀缺。在 WPF 中,我们使用了 UIElement 和 DrawingVisual 可以添加到 Canvas 的子代。如果可能的话,这是如何在 WinUI 3 中完成的?如果这不可能,WinUI 3 中最轻量级的绘图元素是什么?
【问题讨论】:
所以,.NET WinUI 3 的学习资源非常稀缺。在 WPF 中,我们使用了 UIElement 和 DrawingVisual 可以添加到 Canvas 的子代。如果可能的话,这是如何在 WinUI 3 中完成的?如果这不可能,WinUI 3 中最轻量级的绘图元素是什么?
【问题讨论】:
对于任何有类似问题的人:
Microsoft.UI.Composition 库是关键。以下是一些非常不错的入门教程:
https://xamlbrewer.wordpress.com/2018/08/13/drawing-shapes-with-windows-composition-in-uwp/ https://xamlbrewer.wordpress.com/2016/01/04/using-the-composition-api-in-uwp-apps/
基本上,您必须从(示例)CompositionRoundedRectangleGeometry 到 CompositionSpriteShape 到 ShapeVisual 自下而上组成形状层次结构。然后将此 ShapeVisual 添加到 Canvas ContainerVisual。
【讨论】: