在Expression Blend for Windows Phone中,更改不同状态下按钮的图像源

时间:2012-02-01 23:19:09

标签: windows-phone-7 expression-blend

在Expression Blend for Windows Phone中,如何更改不同状态下按钮的图像源。我希望在正常状态和按下状态下显示不同的图像。

1 个答案:

答案 0 :(得分:0)

根据您正在尝试完成的具体内容,我会想到几个选项。

一旦情况是你有一个按钮,你想要像一个切换,你按下它一次,它一直按下,直到你再按一次,就像磁带录音机上的播放按钮(记住那些?)。

如果这是您正在寻找的内容,我会在您的代码隐藏文件中创建boolean属性,例如IsPlaying,指示您的按钮当前是否已按下或不。

然后,您可以创建ValueConverter,将truefalse值转换为不同的图片。这是创建ValueConverter的{​​{3}}。文章讨论了将bool转换为Visibility,但概念是相同的。

BooleanToImage转换器或其他任何名称中,您需要确定要显示的图像并将其加载为Bitmap。然后在您的.xaml中,您将绑定到IsPlaying媒体资源并将转换设置为BooleanToImage。这种方法适用于很多场景,并且它很好而且整洁,因为你不必考虑正在播放的图像;您可以考虑一下您的应用IsPlaying

另一种情况是,您希望在按下按钮时短暂显示图像,如动画,然后返回到先前的状态。在这种情况下,最好的选择是使用VisualStateManager,这样您就可以在各种状态下为按钮定义不同的外观,例如NormalClicked。您可以应用动画来在状态之间进行转换。这是一个使用VisualStateManager进行演示的write-up

相关问题