Files
Shrlalgo.RvKits/WPFluent/Controls/MessageBox/MessageBoxButtonClickEventArgs.cs

47 lines
954 B
C#
Raw Normal View History

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++;
}
}