using JiangsuEarthquake.Base; using JiangsuEarthquake.ViewModels; 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; using System.Windows.Threading; namespace JiangsuEarthquake { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { static public MainViewModel mainViewModel { set; get; } = new MainViewModel(); private DispatcherTimer ShowTimer; public DispatcherTimer timerCycleRestart = new DispatcherTimer(); public MainWindow() { InitializeComponent(); this.DataContext = mainViewModel; this.MaxHeight = SystemParameters.PrimaryScreenHeight;//防止最大化时系统任务栏被遮盖 //添加timer ShowTimer = new System.Windows.Threading.DispatcherTimer(); ShowTimer.Tick += new EventHandler(ShowTime); ShowTimer.Interval = new TimeSpan(0, 0, 0, 1, 0); ShowTimer.Start(); mainViewModel.Socket1DoOpen(null); mainViewModel.Socket2DoOpen(null); mainViewModel.DoSocket1Connect(null); mainViewModel.DoSocket2Connect(null); mainViewModel.DoSocket3Connect(null); mainViewModel.DoSocket4Connect(null); timerCycleRestart.Interval = TimeSpan.FromSeconds(10 * 60 * 1000); timerCycleRestart.Tick += TimerCycleRestart_Tick; timerCycleRestart.Start(); } private void TimerCycleRestart_Tick(object sender, EventArgs e) { DateTime dateTime = DateTime.Now; if (dateTime.Hour == 23 && dateTime.Minute >= 50) { Button_Click(null, null); } } /// /// 时间、日期显示 /// /// /// public void ShowTime(object sender, EventArgs e) { this.DataTime.Text = ""; this.Date.Text = ""; this.Week.Text = ""; //获得年月日 this.DataTime.Text += " " + DateTime.Now.ToString("HH:mm:ss"); //yyyy年MM月dd日 this.Date.Text += " " + DateTime.Now.ToString("yyyy-MM-dd"); this.Week.Text += System.DateTime.Today.ToString("dddd", new System.Globalization.CultureInfo("zh-CN")); } /// /// 主窗体关闭 /// /// /// private void Button_Click(object sender, RoutedEventArgs e) { //主窗体关闭之前调用通信断开 if (mainViewModel.clientModel1 != null && mainViewModel.clientModel1.IsConnected) mainViewModel.clientModel1.DisConnect(); if (mainViewModel.clientModel2 != null && mainViewModel.clientModel2.IsConnected) mainViewModel.clientModel2.DisConnect(); if (mainViewModel.clientModel3 != null && mainViewModel.clientModel3.IsConnected) mainViewModel.clientModel3.DisConnect(); if (mainViewModel.clientModel4 != null && mainViewModel.clientModel4.IsConnected) mainViewModel.clientModel4.DisConnect(); if (mainViewModel.serverModel1 != null && mainViewModel.serverModel1.IsOpened) mainViewModel.serverModel1.DoStop(); if (mainViewModel.serverModel2 != null && mainViewModel.serverModel2.IsOpened) mainViewModel.serverModel2.DoStop(); this.Close(); } /// /// 左键点击顶栏拖动窗体 /// /// /// private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) this.DragMove(); //双击最大化 //switch (e.ClickCount) //{ // case 2: // { // WindowState = WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized; // break; // } //} } /// /// 最小化按钮 /// /// /// private void MinButton_Click(object sender, RoutedEventArgs e) { this.WindowState = WindowState.Minimized; } /// /// 最大化按钮 /// /// /// private void MaxButton_Click(object sender, RoutedEventArgs e) { this.WindowState = this.WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized; } } }