消息框弹出两次 - WPF

时间:2012-05-03 01:50:34

标签: c# wpf wcf

我有基于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);
    }

知道这里缺少什么。谢谢你提前

1 个答案:

答案 0 :(得分:2)

我认为每次选择图像时,都会使用+ =运算符向该图像(或图像的控制器)添加事件。然后,在您的应用程序的某个地方触发ResizeComplete事件。

但是,由于您从未将事件从之前的图像中删除,因此所有这些都被一起解雇。您需要在代码中的某处使用 - =运算符,可能在ResizeComplete方法中。