Можно ли упростить создание Path.Data в коде? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть Canvas в UWP, и мне нужно нарисовать 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;

Я попытался поместить егов одну строку, как показано ниже, но получил несколько ошибок «Нет конструктора с 1 элементом» в IntelliSense.Есть ли способ сделать это, который упрощает / уменьшает объем используемого кода?

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

1 Ответ

1 голос
/ 31 мая 2019

Вы не можете написать это более простым способом, используя только встроенный API. Однако вы могли бы написать собственный класс «строитель» на основе шаблона , который мог бы использовать Fluent API, который позволил бы вам создавать данные пути «как один оператор».

См. это сообщение в блоге в качестве примера беглого строителя.

...