我可以在不覆盖所有模板的情况下创建一个椭圆按钮吗?
我有一个模板和TargetType=button的风格,我想我的椭圆按钮得到这些模板。
提前感谢
发布于 2011-12-18 05:15:22
好吧,这是可行的,尽管它不是最灵活的解决方案:
<Button>
<Button.OpacityMask>
<VisualBrush>
<VisualBrush.Visual>
<Grid Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType=Button, AncestorLevel=1}}" Height="{Binding Path=ActualHeight, RelativeSource={RelativeSource FindAncestor, AncestorType=Button, AncestorLevel=1}}">
<Ellipse Fill="White" />
</Grid>
</VisualBrush.Visual>
</VisualBrush>
</Button.OpacityMask>
</Button>基本上,您只需要告诉按钮控件只显示与OpacityMask中的椭圆重叠的部分,在本例中是一个可视画笔。尽管我确实认为最好的选择是简单地从here (msdn)复制默认控件模板,并稍微调整它以适应您的使用,但对于快速而粗糙的解决方案来说,这是可行的。把它放在一个资源文件中,像这样把它很好地分开。
https://stackoverflow.com/questions/8547706
复制相似问题