using AutomaticApp.Common; using AutomaticApp.ViewModels; using FTP; using MaterialDesignThemes.Wpf; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Runtime.Intrinsics.Arm; using System.Text; using System.Threading.Tasks; 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 AutomaticApp.Views { /// /// ControlPageView.xaml 的交互逻辑 /// public partial class ControlPageView : UserControl { public ControlPageView() { InitializeComponent(); this.DataContext = MainWindow.mainViewModel; //卫通自动控制使能 string[] items = new string[] { "自动", "手动" }; foreach (var item in items) { this.SATCOMAutomaticControlEnable.Items.Add(item); this.SystemControlMode.Items.Add(item); this.CommunicationControlMode.Items.Add(item); } #region 北斗连接 //串口号 for (int i = 0; i < tools.GetSerialPort().Length; i++) { this.GDCKH.Items.Add(tools.GetSerialPort()[i]); } //波特率 string[] btl = new string[] { "110", "300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "38400", "56000", "57600", "115200", "128000", "256000" }; for (int i = 0; i < btl.Length; i++) { this.BTL.Items.Add(btl[i]); } #endregion //this.ControlGrid.DataContext = MainViewModel.CPV1; } #region 系统状态连接 + 参数设置 /// /// 北斗连接 /// /// /// private async void Button_Click(object sender, RoutedEventArgs e) { await Task.Delay(200); MessageBox.Show("北斗" + MainViewModel.EM.ComStateMessage, "北斗连接信息提示", MessageBoxButton.OK, MessageBoxImage.Information); } /// /// Socket通信连接1 /// /// /// private async void Button_Click_1(object sender, RoutedEventArgs e) { await Task.Delay(200); MessageBox.Show("Socket通信连接1" + MainViewModel.EM.Socket1StateMessage, "Socket连接信息提示", MessageBoxButton.OK, MessageBoxImage.Information); } /// /// Socket连接2 /// /// /// private async void Button_Click_2(object sender, RoutedEventArgs e) { await Task.Delay(200); MessageBox.Show("Socket通信连接2" + MainViewModel.EM.Socket2StateMessage, "Socket连接信息提示", MessageBoxButton.OK, MessageBoxImage.Information); } /// /// FTP连接 /// /// /// private void Button_Click_3(object sender, RoutedEventArgs e) { FTPControlWindow fTPControlWindow = new FTPControlWindow(MainViewModel.ftp1.IP, MainViewModel.ftp1.Port, tools.GetAppSetting("UserName1"), tools.GetAppSetting("PassWord1")); fTPControlWindow.ShowDialog(); } /// /// 信标连接 /// /// /// private void Button_Click_4(object sender, RoutedEventArgs e) { FTPControlWindow fTPControlWindow = new FTPControlWindow(MainViewModel.ftp2.IP, MainViewModel.ftp2.Port, tools.GetAppSetting("UserName2"), tools.GetAppSetting("PassWord2")); fTPControlWindow.ShowDialog(); } /// /// 地震仪参数设置 /// /// /// private void Button_Click_5(object sender, RoutedEventArgs e) { MessageBox.Show("地震仪参数设置成功"); } #endregion bool isan = false; private async void Switch_ClickAsync(object sender, RoutedEventArgs e) { if (!isan) { isan = true; while (string.IsNullOrEmpty(MainViewModel.EM.ControlMessage)) { await Task.Delay(1); } //if (!MainViewModel.EM.ControlMessage.Contains("失败")) //{ // MainWindow.mainViewModel.BDCountDownCommand(); //} MessageBox.Show(MainViewModel.EM.ControlMessage, "控制指令", MessageBoxButton.OK, MessageBoxImage.Information); MainViewModel.EM.ControlMessage = ""; isan = false; } } private void Button_Click_6(object sender, RoutedEventArgs e) { FTPControlWindow fTPControlWindow = new FTPControlWindow(MainViewModel.ftp2.IP, MainViewModel.ftp2.Port, tools.GetAppSetting("UserName1"), tools.GetAppSetting("PassWord1")); fTPControlWindow.ShowDialog(); } } public class ParaSetValidationRule : ValidationRule { public override ValidationResult Validate(object value, CultureInfo cultureInfo) { int ret = 0; if (!int.TryParse(value.ToString(), out ret)) return new ValidationResult(false, "不是有效的数字"); if (ret > 130 || ret < 1) return new ValidationResult(false, "年龄必须是1-130之间"); return new ValidationResult(true, ""); } } }