将InteractionRequest
与Confirmation
和同步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
}
据我所知,这两者之间并没有真正的区别。我是对的,还是我遗漏了什么?
您的意思是同步=例如IsModal=true
的PopupWindowAction吗?在这种情况下,我想没有回调的变体是可以的。
尽管回调变体在实现发生变化时更安全,例如,操作的Invoke
不再阻塞,或者Confirmation
在内部克隆,回调不会得到您传入的相同实例…