using System;
using System.Collections.Generic;
using System.Linq;
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.Navigation;
using System.Windows.Shapes;
namespace Aitex.Core.UI.Dialog
{
///
/// Interaction logic for NotificationDialog.xaml
///
public partial class NotificationDialog : Window
{
public NotificationDialog()
{
InitializeComponent();
Closing += new System.ComponentModel.CancelEventHandler(NotificationDialog_Closing);
_tm.Elapsed += new System.Timers.ElapsedEventHandler(_tm_Elapsed);
_tm.Start();
BannerColor = Brushes.DodgerBlue;
}
private TimeSpan _autoCloseTime = new TimeSpan(0, 1, 0);
void NotificationDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
_tm.Stop();
}
DateTime _startTime = DateTime.Now;
System.Timers.Timer _tm = new System.Timers.Timer(500);
void _tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (DateTime.Now - _startTime > _autoCloseTime)
{
//延迟1min后,自动关闭提示对话框
Dispatcher.Invoke(new Action(() =>
{
Close();
}));
}
else
{
//显示对话框弹出显示至今的时间
labelElapsedTime.Dispatcher.BeginInvoke(new Action(() =>
{
labelElapsedTime.Content = (_startTime + new TimeSpan(0, 1, 0) - DateTime.Now).ToString(@"hh\:mm\:ss");
}));
}
}
///
/// close current window
///
///
///
private void buttonOK_Click(object sender, RoutedEventArgs e)
{
_tm.Stop();
Close();
}
///
/// Message title
///
public string MessageTitle
{
get
{
return _msgTitle.Text;
}
set
{
_msgTitle.Text = value;
}
}
///
/// Message content
///
public string MessageContent
{
get
{
return _msgContent.Text;
}
set
{
_msgContent.Text = value;
}
}
///
/// Banner color
///
public Brush BannerColor
{
get
{
return topGrid.Background;
}
set
{
topGrid.Background = value;
}
}
}
}