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 の cuople を使用する必要がありますか? その場合、どのように?

ありがとう!

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));
    }
}

正確に何をしたいのかわかりません。複数の画像を循環する予定がある場合は、それらを に保存して、一度に 1 つずつ循環する方がよい場合がありますList<Uri>。基本的に、何らかの形でコントロールの現在の状態を (おそらくプライベート フィールドとして) 保存し、それに基づいて変更を加えたり、別のイベントを配線したりする必要があります。

于 2013-02-01T20:17:51.403 に答える