优化更新代码,添加界面功能并整合
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using System.Diagnostics;
|
||||
using System.Windows;
|
||||
|
||||
namespace WPFluent.Controls;
|
||||
|
||||
public class MessageBoxButtonClickEventArgs : RoutedEventArgs
|
||||
{
|
||||
private MessageBoxButtonClickDeferral _deferral = null!;
|
||||
private int _deferralCount;
|
||||
|
||||
internal MessageBoxButtonClickEventArgs()
|
||||
{
|
||||
}
|
||||
|
||||
public bool Cancel { get; set; }
|
||||
|
||||
public MessageBoxButtonClickDeferral GetDeferral()
|
||||
{
|
||||
_deferralCount++;
|
||||
|
||||
return new MessageBoxButtonClickDeferral(() =>
|
||||
{
|
||||
DecrementDeferralCount();
|
||||
});
|
||||
}
|
||||
|
||||
internal void SetDeferral(MessageBoxButtonClickDeferral deferral)
|
||||
{
|
||||
_deferral = deferral;
|
||||
}
|
||||
|
||||
internal void DecrementDeferralCount()
|
||||
{
|
||||
Debug.Assert(_deferralCount > 0);
|
||||
_deferralCount--;
|
||||
if (_deferralCount == 0)
|
||||
{
|
||||
_deferral.Complete();
|
||||
}
|
||||
}
|
||||
|
||||
internal void IncrementDeferralCount()
|
||||
{
|
||||
_deferralCount++;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user