更改WPF按钮的形状而不更改其他样式

Han*_*ank 7 .net wpf

我想将WPF按钮的形状从默认的圆形矩形更改为另一种形状(例如,箭头),但我想保留其余样式 - 填充颜色,边框颜色,悬停状态等.希望按钮具有与所有其他常规按钮相同的样式(我认为这取决于Windows的版本,系统主题颜色等等,因此我不能从头开始重新创建按钮样式并硬编码正确的颜色) .

有办法做到这一点吗?

Rac*_*hel 1

复制默认按钮模板,然后将默认面板更改为您自己的自定义形状。

对于按钮,看起来您需要将 替换为定义箭头Border之类的内容。Path

由于 aPath没有内容,您可能必须将形状和内容放在另一个允许对象重叠的面板中,例如网格。

所以你的最终结果会是这样的

<Grid>
    <Path />
    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

而不是默认的

<Button>
    <ContentPresenter />
</Button>
Run Code Online (Sandbox Code Playgroud)