Что такое WPF-эквивалент Windows Forms Region.Xor в событии Paint?

Я пытаюсь переместить этот код WinForms в WPF, но нет события Paint .

 private void OnPaint(object sender, PaintEventArgs e) { var region = new Region(new Rectangle(0, 0, this.Width, this.Height)); var rectangle = new Rectangle(0, 0, 50, 50); region.Xor(rectangle); e.Graphics.FillRegion(Brushes.Black, region); } 

WPF не работает как WinForms с точки зрения графики. Вы не можете нарисовать фигуры, вы должны поместить их в свой контент.

Geometry должна служить хорошей заменой для Region . Вы можете использовать Geometry.Combine и указать GeometryCombineMode.Xor для репликации кода чертежа.

RectangleGeometry – это то, как вы создаете прямоугольники. Существуют аналогичные classы для других фигур.

Чтобы фактически отобразить Geometry , поместите ее в Path , который можно использовать в качестве содержимого элемента управления.