改变圈子"开始 - 停止"在WPF中单击按钮背景图像

时间:2014-02-14 05:24:54

标签: c# wpf

this question 的启发,我会使这个问题复杂化。

我的目标是一个圆形按钮(背景图像像enter image description here),表现为“开始 - 停止”按钮:

1)首次点击更改按钮图像以“停止”图像并启动一些计算功能(处理,任务等)

2)点击更改按钮图像到原始“开始”图像并停止该功能。

按钮代码如下:

<Button  x:Name="btnStartStop" Width="72" Height="72" Content="" Margin="180,0,372,94" VerticalAlignment="Bottom" d:LayoutOverrides="VerticalAlignment">
        <Button.Template>
            <ControlTemplate>
                <Grid>
                    <Ellipse>
                        <Ellipse.Fill>
                            <ImageBrush ImageSource="Images/Start.jpg"/>
                        </Ellipse.Fill>
                    </Ellipse>
                </Grid>
            </ControlTemplate>
        </Button.Template>
</Button>

谢谢。

P.S。 @Sheridan要求提及他的名字,也许他可以帮助我。

更新我的按钮看起来非常像我的背景图片 - 它是圆形的,没有边框,可点击区域匹配图像(它是圆形的)。圆形图像之外的所有内容都是透明的,不会触发点击事件。这就是我必须使用Ellipse的原因。

2 个答案:

答案 0 :(得分:1)

您可以使用DataTrigger更改按钮的背景图像。以下链接可能有所帮助。

WPF Change button background image when clicked

及以下是相同的解决方案。根据你的需要适当地工作。

enter image description here

enter image description here

答案 1 :(得分:0)

对于ToggleButton或者甚至是自定义CheckBox来说,这实际上听起来像是一个完美的用例。

您可以提供自己的控制模板,该模板使用两种不同的图像/图形作为两种不同的切换状态。使用VisualStateManager,您可以声明在转换期间要执行的操作。