Класс Geometry в WPF содержит чрезвычайно полезный метод Combine(). когда вам нужно исключить одну геометрию из другой и т. д. Версия Geometry для Silverlight не имеет такого метода. То же самое касается класса CombinedGeometry, который то же.

Есть ли другие варианты исключения одной геометрии из другой в Silverlight?

2
Alan Mendelevich 25 Ноя 2009 в 12:57

2 ответа

Я работаю над приложением WPF, которое создает пользовательские маски с помощью Combine. Если в SL 4 нет ответа (ничего я не вижу), тогда мой запасной вариант - отправить необработанную геометрию обратно на сервер для комбинирования.

0
Andy Dent 14 Дек 2009 в 11:30

Я могу очень поздно ответить на этот вопрос ;-) есть опция под названием GeometryGroup. Вы можете использовать это, чтобы исключить одну геометрию из другой в Silverlight. Вы должны установить FillRule="EvenOdd".

0
nishantcop 17 Апр 2013 в 11:59
Это не то же самое. Правило заливки указывает, как контуры должны заполняться. В частности, если контур геометрии не заполнен (а обведен контуром), не имеет значения, какое правило заполнения вы используете. - Метод Combine, используемый для исключения одной геометрии из другой, фактически изменяет контуры. Это означает, что результирующая геометрия может стать меньше, чем вычитаемая, чего никогда не произойдет при группировании геометрии с другими.
 – 
John
15 Мар 2014 в 17:53