我有基于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);
}
知道这里缺少什么。谢谢你提前
答案 0 :(得分:2)
我认为每次选择图像时,都会使用+ =运算符向该图像(或图像的控制器)添加事件。然后,在您的应用程序的某个地方触发ResizeComplete事件。
但是,由于您从未将事件从之前的图像中删除,因此所有这些都被一起解雇。您需要在代码中的某处使用 - =运算符,可能在ResizeComplete方法中。