[英]How to change an image source after clicking a button?
我正在使用Image
作为按钮。 因此,默认情况下,我需要图像源为/image1.png
,当我单击图像时,它将创建一个if
函数并将其图像源更改为/image2.png
。 我正确地更改了图像,问题是我必须单击两次图像才能在第一次单击时进行更改。
这就是我正在使用的:
public MainWindow()
{
InitializeComponent();
IsPlaying = false;
//PlayBtn.Source = (ImageSource)new ImageSourceConverter().ConvertFrom(@"C:\Users\myusername\Documents\Visual Studio 2013\Projects\Project1\Project1WPF\image1.png");
}
private void PlayBtn_MouseDown(object sender, MouseButtonEventArgs e)
{
if(IsPlaying == false)
{
PlayBtn.Source = (ImageSource)new ImageSourceConverter().ConvertFrom(@"C:\Users\myusername\Documents\Visual Studio 2013\Projects\Project1\Project1WPF\image1.png");
IsPlaying = true;
}else if(IsPlaying == true)
{
PlayBtn.Source = (ImageSource)new ImageSourceConverter().ConvertFrom(@"C:\Users\myusername\Documents\Visual Studio 2013\Projects\Project1\Project1WPF\image2.png");
IsPlaying = false;
}
要解决您的问题,只需正确设置初始状态即可。 就目前而言,您拥有以下功能:
isPlaying
设置为false
isPlaying
为false
,所以图像设置为“ image1”(您的第一个块) isPlaying
设置为true
isPlaying
为true
所以图像设置为“ image2”。 因此,当当前值为false
时翻转设置的图像,或者将初始值设置为true
即可获得您描述的行为。
顺便说一句,您可能根本不应该在后台代码中执行此操作。 Source
属性应该绑定到您的View模型(通过转换器),并且按钮的Command
更改该源。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.