1

我有基于 WPF 开发的 Windows 应用程序,我将在这里解决奇怪的问题。我必须选择图像,一旦完成,就会弹出“关键帧图像已成功调整大小”之类的消息,但是如果执行两次,它会弹出两次,如果执行 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 回答