受 this question 的启发,我会使这个问题复杂化。
我的目标是一个圆形按钮(背景图像像),表现为“开始 - 停止”按钮:
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的原因。
答案 0 :(得分:1)
您可以使用DataTrigger更改按钮的背景图像。以下链接可能有所帮助。
WPF Change button background image when clicked
及以下是相同的解决方案。根据你的需要适当地工作。
答案 1 :(得分:0)
对于ToggleButton或者甚至是自定义CheckBox来说,这实际上听起来像是一个完美的用例。
您可以提供自己的控制模板,该模板使用两种不同的图像/图形作为两种不同的切换状态。使用VisualStateManager,您可以声明在转换期间要执行的操作。