I have a window that contains popup
.when the operation was performed, this popup called.now i want to for example when user continuous insert
data and show popup , previous called popup closed.because collisions occur.
my code is :
public partial class AvinPopup : Window
{
static AvinPopup _popup;
static int timePopup = 0;
static string textPopUp = "";
private AvinPopup()
{
InitializeComponent();
}
private static void StartCloseTimer()
{
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds((double)timePopup);
timer.Tick += TimerTick;
timer.Start();
}
private static void TimerTick(object sender, EventArgs e)
{
DispatcherTimer timer = (DispatcherTimer)sender;
timer.Stop();
timer.Tick -= TimerTick;
_popup.Close();
_popup.popup.IsOpen = false;
}
public static void Show(string _textPopup, int _timePopup = 3)
{
timePopup = _timePopup;
textPopUp = _textPopup;
Thread newWindowThread = new Thread(ThreadStartPopup);
newWindowThread.SetApartmentState(ApartmentState.STA);
newWindowThread.IsBackground = true;
newWindowThread.Start();
}
private static void ThreadStartPopup()
{
_popup = new AvinPopup();
_popup.popup.VerticalOffset = System.Windows.SystemParameters.PrimaryScreenHeight - 200;
_popup.popup.HorizontalOffset = 100; /*System.Windows.SystemParameters.PrimaryScreenWidth +100;*/
_popup.txtPopup.Text = textPopUp;
_popup.Show();
StartCloseTimer();
System.Windows.Threading.Dispatcher.Run();
}