题
我不认为这是相当可能的,但它值得一试看什么你们说。我试图创建一个半-椭圆形的按钮C#(不换,可能通过另一个曲线球)。如果我想要一个预先确定的大小按钮,我将只是使用的图像或者类似的东西,但这就是没的情况下,由于尺寸变化。这里是更多的细节:
我有个椭圆x-半径和y半径(或宽度和高度,尊敬地乘以2).
我想要两个按钮来填补整个椭圆,各占一半的椭圆。
我不想矩按钮超出椭圆,并得到裁剪为父母,我想实际椭圆形的按钮,除了只有一半的一个椭圆每个按钮。
如果这不能通过使用按钮,但采用一些其他的控制,然后我想,控制能够像一个按钮。
任何帮助或建议或指针,将大大帮助。
解决方案
在我回答这个问题,我想知道为什么你必须避免摘在WPF应用程序?你几乎肯定是间接的反馈,无论如何,所以为什么不用它使你的按钮然后应该一块蛋糕!这正是什么!
这就像是试图使一个房子里有胶带当你站在旁边的砖头和灰浆!:)
其他提示
你必须添加额外的触发器(如IsPressed),但是这应该给你一个很好的想法:
<Button Height="30" Width="30">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Path Name="HalfEllipse" Stroke="Black" StrokeThickness="1" Fill="Blue">
<Path.Data>
<PathGeometry>
<PathFigure IsFilled="True" StartPoint="0,0">
<PolyBezierSegment Points="5,30 25,30 30,0" />
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="HalfEllipse" Property="Fill">
<Setter.Value>
<SolidColorBrush Color="Green"/>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
看看这页的更多信息: http://www.codeproject.com/KB/WPF/glassbuttons.aspx
不隶属于 StackOverflow