The standard separator pattern is:
<ControlTemplate TargetType="{x:Type Separator}"> <Grid Margin="0,6,0,4" SnapsToDevicePixels="true" UseLayoutRounding="False"> <Rectangle Fill="#E0E0E0" Height="1" Margin="30,0,1,1"/> <Rectangle Fill="White" Height="1" Margin="30,1,1,0"/> </Grid> </ControlTemplate>
As you can see, it is indented using Margin , just fix this:
<Window.Resources> <ControlTemplate x:Key="MySeparatorTemplate" TargetType="{x:Type Separator}"> <Grid Margin="0,6,0,4" SnapsToDevicePixels="true" UseLayoutRounding="False"> <Rectangle Fill="#E0E0E0" Height="1" Margin="1,0,1,1"/> <Rectangle Fill="White" Height="1" Margin="1,1,1,0"/> </Grid> </ControlTemplate> </Window.Resources> <Button Content="Right-click me!" VerticalAlignment="Center" HorizontalAlignment="Center"> <Button.ContextMenu> <ContextMenu> <MenuItem Header="Menu item 1" /> <MenuItem Header="Menu item 2" /> <Separator Template="{StaticResource MySeparatorTemplate}"/> <MenuItem Header="Menu item 3" /> </ContextMenu> </Button.ContextMenu> </Button>
