我不认为这是相当可能的,但它值得一试看什么你们说。我试图创建一个半-椭圆形的按钮C#(不换,可能通过另一个曲线球)。如果我想要一个预先确定的大小按钮,我将只是使用的图像或者类似的东西,但这就是没的情况下,由于尺寸变化。这里是更多的细节:

  1. 我有个椭圆x-半径和y半径(或宽度和高度,尊敬地乘以2).

  2. 我想要两个按钮来填补整个椭圆,各占一半的椭圆。

  3. 我不想矩按钮超出椭圆,并得到裁剪为父母,我想实际椭圆形的按钮,除了只有一半的一个椭圆每个按钮。

  4. 如果这不能通过使用按钮,但采用一些其他的控制,然后我想,控制能够像一个按钮。

任何帮助或建议或指针,将大大帮助。

有帮助吗?

解决方案

在我回答这个问题,我想知道为什么你必须避免摘在WPF应用程序?你几乎肯定是间接的反馈,无论如何,所以为什么不用它使你的按钮然后应该一块蛋糕!这正是什么!

这就像是试图使一个房子里有胶带当你站在旁边的砖头和灰浆!:)

其他提示

使用的摘严重XAML可能看上去令人生畏,但它是没有像头痛你们创造自己,试图这样做纯粹是在码后面。

定义WPF按钮风格

一步一步介绍的造型与融合

XAML水平的100

你必须添加额外的触发器(如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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top