using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Threading;

namespace BBWY.Client.Views.PackTask
{
    /// <summary>
    /// TipsWindow.xaml 的交互逻辑
    /// </summary>
    public partial class TipsWindow : BWindow
    {
        private DispatcherTimer timer;
        public TipsWindow(string Content, int waitTime =3)
        {
            InitializeComponent();
            tbContent.Text = Content;
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;

            timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(waitTime);
            timer.Tick += OnTimerTick;
            timer.Start();

            this.Closed += TipsWindow_Closed;
        }

        private void TipsWindow_Closed(object sender, EventArgs e)
        {
            IsClosed = true;
        }

        private bool IsClosed;
        private void OnTimerTick(object sender, EventArgs e)
        {
            timer.Stop();

            CloseWindow();
        }

        object closeWindow = new object();
        private void CloseWindow()
        {
            if (IsClosed)
                return;
            lock (closeWindow)
            {
                if (!IsClosed)
                    Close();
            }

        }

        private void BButton_Click(object sender, RoutedEventArgs e)
        {
            CloseWindow();
        }
    }
}