Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 7 在Windows Phone的表达式混合中更改按钮在不同状态下的图像源_Windows Phone 7_Expression Blend - Fatal编程技术网

Windows phone 7 在Windows Phone的表达式混合中更改按钮在不同状态下的图像源

Windows phone 7 在Windows Phone的表达式混合中更改按钮在不同状态下的图像源,windows-phone-7,expression-blend,Windows Phone 7,Expression Blend,在Expression Blend for Windows Phone中,如何更改处于不同状态的按钮的图像源。我希望在正常状态和按下状态下显示不同的图像。我想到了几个选项,具体取决于您要实现的目标 有一种情况是,你们有一个按钮,你们想把它当作一个开关,你们按下它一次,它就会一直按下,直到你们再次按下它,就像录音机上的播放按钮一样(记得那个些吗?) 如果这就是您要查找的内容,我会在codebehind文件中创建一个布尔属性,例如IsPlaying,它指示您的按钮当前是否被按下 然后,您可以创建一个

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

我想到了几个选项,具体取决于您要实现的目标

有一种情况是,你们有一个按钮,你们想把它当作一个开关,你们按下它一次,它就会一直按下,直到你们再次按下它,就像录音机上的播放按钮一样(记得那个些吗?)

如果这就是您要查找的内容,我会在codebehind文件中创建一个
布尔属性,例如
IsPlaying
,它指示您的按钮当前是否被按下

然后,您可以创建一个
ValueConverter
,将
true
false
值转换为不同的图像。下面是有关创建
值转换器的详细信息。本文讨论如何将
bool
转换为
Visibility
,但概念是相同的

BooleanToImage
转换器中,或者无论您如何命名,您都需要决定显示哪个图像并将其加载为
位图。然后在
.xaml
中绑定到
IsPlaying
属性,并将转换器设置为
BooleanToImage
。这种方法在很多场景中都非常有效,而且非常好用,因为你不必考虑播放的是哪个图像;你可以考虑你的应用程序是否
isplay


另一种情况是,您希望在按下按钮时短暂显示图像(如动画),然后返回到以前的状态。在这种情况下,您最好使用
VisualStateManager
,它允许您定义按钮在不同状态下的不同外观,例如
Normal
Clicked
。可以将动画应用于状态之间的转换。下面是一个演示如何使用
VisualStateManager

VisualStateManager
是我要找的。非常感谢,乔希!