在Expression Blend for Windows Phone中,如何更改不同状态下按钮的图像源。我希望在正常状态和按下状态下显示不同的图像。
答案 0 :(得分:0)
根据您正在尝试完成的具体内容,我会想到几个选项。
一旦情况是你有一个按钮,你想要像一个切换,你按下它一次,它一直按下,直到你再按一次,就像磁带录音机上的播放按钮(记住那些?)。
如果这是您正在寻找的内容,我会在您的代码隐藏文件中创建boolean
属性,例如IsPlaying
,指示您的按钮当前是否已按下或不。
然后,您可以创建ValueConverter
,将true
和false
值转换为不同的图片。这是创建ValueConverter
的{{3}}。文章讨论了将bool
转换为Visibility
,但概念是相同的。
在BooleanToImage
转换器或其他任何名称中,您需要确定要显示的图像并将其加载为Bitmap
。然后在您的.xaml
中,您将绑定到IsPlaying
媒体资源并将转换设置为BooleanToImage
。这种方法适用于很多场景,并且它很好而且整洁,因为你不必考虑正在播放的图像;您可以考虑一下您的应用IsPlaying
。
另一种情况是,您希望在按下按钮时短暂显示图像,如动画,然后返回到先前的状态。在这种情况下,最好的选择是使用VisualStateManager
,这样您就可以在各种状态下为按钮定义不同的外观,例如Normal
和Clicked
。您可以应用动画来在状态之间进行转换。这是一个使用VisualStateManager
进行演示的write-up。