1

私はWPFに基づいて開発されたWindowsアプリケーションを持っていますが、ここで奇妙な問題が発生しています。画像を選択する必要があります。完了すると、「キーフレーム画像のサイズが正常に変更されました」のようなメッセージがポップアップ表示されますが、2 回実行すると 2 回ポップアップし、3 回実行すると 3 回ポップアップします。

これを解決する方法や数え方がわからないので、どんな助けでも大歓迎です。

ここに私のビューモデルクラスファイルがあります

 private void imageResizer_ResizeCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
    {
        string test =e.ToString();
        ImageResizerResult result = (ImageResizerResult)e.Result;

        this.aggregator.GetEvent<ImageResizeCompletedEvent>().Publish(result.IsSuccessful);

            if (result.IsSuccessful)
            {

                this.dialog.ShowSuccess("Keyframe Image was resized successfully");
            }

        }

このメッセージを渡すためにサービスを呼び出しています

        public void ShowSuccess(string message)
    {

        MessageBox.Show(message,
                        "Success",
                        MessageBoxButton.OK,
                        MessageBoxImage.Information);
    }

ここに何が欠けているか考えてください。事前に感謝します

4

1 に答える 1

2

画像を選択するたびに、+= 演算子を使用してその画像 (または画像のコントローラー) にイベントを追加すると思います。次に、アプリケーションのどこかで ResizeComplete イベントが発生します。

ただし、前の画像からイベントを切り離すことはないため、すべての画像が一緒に起動されます。-= 演算子をコードのどこかで、おそらく ResizeComplete メソッド内で使用する必要があります。

于 2012-05-03T02:19:05.123 に答える