Quel est l’équivalent WPF de Windows Forms Region.Xor dans l’événement Paint?

J’essaie de déplacer ce code WinForms vers WPF, mais il n’y a pas d’événement 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 ne fonctionne pas comme WinForms en termes de graphisme. Vous ne pouvez pas réellement dessiner des formes, vous devez les placer dans votre contenu.

Geometry devrait remplacer avantageusement Region . Vous pouvez utiliser Geometry.Combine et spécifier GeometryCombineMode.Xor pour répliquer votre code de dessin.

RectangleGeometry est la façon dont vous créez des rectangles. Il existe des classes similaires pour d’autres formes.

Pour afficher réellement la Geometry , placez-la dans un Path qui peut être utilisé comme contenu d’un contrôle.