我真的很惊讶我在这里找不到这个简单问题的答案。我想创建一个带有图像内容的简单按钮。按下时,图像应更改为另一个图像,然后在释放按钮后更改回原始图像。最简单的方法是什么?
编辑:这不是切换按钮!
答案 0 :(得分:3)
您可以使用ControlTemplate指定按钮的可视结构。
下面的XAML显示了如何将图像添加到按钮(保持标准的镶边边框,但如果不需要则可以删除它),并在isPressed事件上添加触发器以设置其他图像。如果要使用chrome按钮边框,则还需要包含命名空间xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Luna"
。
<Button>
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Microsoft_Windows_Themes:ButtonChrome x:Name="Chrome" BorderBrush="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderDefaulted="{TemplateBinding IsDefaulted}" SnapsToDevicePixels="true" ThemeColor="NormalColor">
<Image x:Name="buttonImage" Source="defaultImage"/>
</Microsoft_Windows_Themes:ButtonChrome>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter Property="Source" TargetName="buttonImage" Value="onPressedImage"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>