1

我有一个标签,每次按 Enter 时都会触发此功能

private void WordInput_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            WordInput.Text = String.Empty;
            Smiley.Source = new BitmapImage(new Uri(@"FailSmile2.png", UriKind.Relative));
        }
    }

将图片更改为上面的图片(FailSmile2.png) 但是现在,我想检查一下,如果显示的是 FailSmile2,那么我想改为使用相同功能的另一张图片。我应该使用几个 IF 来检查源吗?在那种情况下,怎么办?

谢谢!

4

1 回答 1

2

可以将其存储为您班级的私有字段:

private string CurrentImagePath;

private void WordInput_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        WordInput.Text = String.Empty;

        if (CurrentImagePath == null)
            CurrentImagePath = @"FailSmile2.png";
        else if (CurrentImagePath == @"FailSmile2.png")
            CurrentImagePath = @"SomeOtherImage.png";

        Smiley.Source = new BitmapImage(new Uri(CurrentImagePath, UriKind.Relative));
    }
}

不确定您到底想做什么。如果您计划循环浏览多个图像,最好将它们存储在 a 中List<Uri>并一次循环浏览它们。本质上,您会想以某种方式存储控件的当前状态(可能作为私有字段)并基于该状态进行更改或可能连接不同的事件。

于 2013-02-01T20:17:51.403 回答