Make a copy of the default button template and simply change the default panel to your own custom form.
In the case of the button, it seems you need to replace Border with something like Path defining the arrow.
Since a Path has no content, you may have to place both the form and the content in another panel that allows you to overlap objects such as a grid.
So, your end result will look something like this.
<Grid> <Path /> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" /> </Grid>
instead of the standard
<Button> <ContentPresenter /> </Button>
Rachel
source share