WPF Path GeometryCombineMode Union, Exclude,Intersect,Xor
union
<Window x:Class="WpfApp172.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp172" mc:Ignorable="d" WindowState="Maximized" Title="MainWindow" Height="450" Width="800"> <Grid> <Path Stroke="Black" StrokeThickness="10" Fill="Red"> <Path.Data> <CombinedGeometry GeometryCombineMode="Union"> <CombinedGeometry.Geometry1> <EllipseGeometry RadiusX="400" RadiusY="400" Center="450,450"/> </CombinedGeometry.Geometry1> <CombinedGeometry.Geometry2> <EllipseGeometry RadiusX="400" RadiusY="400" Center="800,450"/> </CombinedGeometry.Geometry2> </CombinedGeometry> </Path.Data> </Path> </Grid> </Window>
Exclude
<Window x:Class="WpfApp172.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp172" mc:Ignorable="d" WindowState="Maximized" Title="MainWindow" Height="450" Width="800"> <Grid> <Path Stroke="Black" StrokeThickness="10" Fill="Red"> <Path.Data> <CombinedGeometry GeometryCombineMode="Exclude"> <CombinedGeometry.Geometry1> <EllipseGeometry RadiusX="400" RadiusY="400" Center="450,450"/> </CombinedGeometry.Geometry1> <CombinedGeometry.Geometry2> <EllipseGeometry RadiusX="400" RadiusY="400" Center="800,450"/> </CombinedGeometry.Geometry2> </CombinedGeometry> </Path.Data> </Path> </Grid> </Window>
Intersect
<Window x:Class="WpfApp172.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp172" mc:Ignorable="d" WindowState="Maximized" Title="MainWindow" Height="450" Width="800"> <Grid> <Path Stroke="Black" StrokeThickness="10" Fill="Red"> <Path.Data> <CombinedGeometry GeometryCombineMode="Intersect"> <CombinedGeometry.Geometry1> <EllipseGeometry RadiusX="400" RadiusY="400" Center="450,450"/> </CombinedGeometry.Geometry1> <CombinedGeometry.Geometry2> <EllipseGeometry RadiusX="400" RadiusY="400" Center="800,450"/> </CombinedGeometry.Geometry2> </CombinedGeometry> </Path.Data> </Path> </Grid> </Window>
Xor
<Window x:Class="WpfApp172.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp172" mc:Ignorable="d" WindowState="Maximized" Title="MainWindow" Height="450" Width="800"> <Grid> <Path Stroke="Black" StrokeThickness="10" Fill="Red"> <Path.Data> <CombinedGeometry GeometryCombineMode="Xor"> <CombinedGeometry.Geometry1> <EllipseGeometry RadiusX="400" RadiusY="400" Center="450,450"/> </CombinedGeometry.Geometry1> <CombinedGeometry.Geometry2> <EllipseGeometry RadiusX="400" RadiusY="400" Center="800,450"/> </CombinedGeometry.Geometry2> </CombinedGeometry> </Path.Data> </Path> </Grid> </Window>