Path.Data 创建可以在代码上简化吗?

Can Path.Data creation be simplified in code?

我在 UWP 中有一个 Canvas,需要在代码隐藏中在其上绘制 Path。我让它工作,但它似乎不必要地冗长,特别是考虑到我需要在 switch-case 语句中有四个实例。我想知道是否有办法简化代码,或者至少将其合并为一行:

C#

Rect door = new Rect(left, top, width, height);
RectangleGeometry doorGeometry = new RectangleGeometry();
doorGeometry.Rect = door;
doorGroup.Children.Add(doorGeometry);
path.Data = doorGroup;

我试着将它放到一行中,如下所示,但在 IntelliSense 中收到了几个 "No constructor with 1 elements" 错误。有没有办法做到这一点 simplifies/lessens 使用的代码量?

GeometryGroup doorGroup = new GeometryGroup(new RectangleGeometry(new Rect(left, top, width, height);

您不能仅使用 built-in API 以更简单的方式编写它。然而,你可以做的是编写你自己的基于 "builder" pattern 的 class,它可以具有 Fluent API 的特点,允许你建立路径数据 "as a single statement".

请参阅 this blog post 作为流利生成器的示例。