棱镜交互确认 - 回调还是没有回调?

时间:2016-07-28 06:47:47

标签: wpf prism interactive

InteractionRequestConfirmation同步 Raise一起使用时,有两种方法可以获得确认结果。最流行的方式似乎是:

Confirmation confirmation = new Confirmation()
{
    Title = "Confirmation",
    Content = "Do you really want to do this?"
};
DeleteConfirmationRequest.Raise(confirmation, c => {
    if (c.Confirmed)
    {
        // do something terrible
    }
});

但是,由于我在这种情况下并不关心用户是否取消了请求或者甚至没有订阅确认,我可以这样做:

Confirmation confirmation = new Confirmation()
{
    Title = "Confirmation",
    Content = "Do you really want to do this?"
};
DeleteConfirmationRequest.Raise(confirmation);
if (confirmation.Confirmed)
{
    // do something terrible
}

据我所知,这两者之间没有真正的区别。我是对的,还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

你的意思是同步 =一个带有IsModal=true的PopupWindowAction吗? 在这种情况下,没有回调的变体很好,我想。

虽然如果实现发生更改,回调变量会更安全,例如,操作Invoke不会再阻塞,或者Confirmation在内部被克隆,并且回调不会得到相同的你传递的实例...