我正在使用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;
}
答案 0 :(得分:0)
要解决您的问题,只需正确设置初始状态即可。就目前而言,你有这个:
isPlaying
设置为false
isPlaying
为false
,图像设置为" image1" (你的第一个街区)isPlaying
设置为true
isPlaying
为true
,图像设置为" image2"。因此,当当前值为false
时,要么翻转哪个图像,要么将初始值设置为true
以获得您描述的行为。
顺便说一句,你可能根本不应该在代码隐藏中这样做。 Source
属性应绑定到您的视图模型(通过转换器),并且按钮的Command
更改该源。