using ivf_tl_Operate.ViewModel; using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; 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 ivf_tl_Operate.View { /// /// BufferDebugView.xaml 的交互逻辑 /// public partial class BufferDebugView : UserControl { private BufferDebugViewModel vm = null; public BufferDebugView(BufferDebugViewModel bufferDebugViewModel) { InitializeComponent(); vm = bufferDebugViewModel; this.DataContext = vm; Loaded += BufferDebugView_Loaded; } private void BufferDebugView_Loaded(object sender, RoutedEventArgs e) { vm.MessageEvent += AddMessageInfo; } private void ShowMessage(string message) { Dispatcher.Invoke(() => { MessageBox.Show(message); }); } object locker = new object(); DateTime logTime = DateTime.Now; private void AddMessageInfo(string message) { lock (locker) { logTime = DateTime.Now; message = $"{logTime.ToString("yyyy-MM-dd HH:mm:ss")}.{logTime.Millisecond} {message}"; Dispatcher.Invoke(() => { vm.MessageInfoList.Add(message); _messageList.ScrollIntoView(message); }); } } private void Return_Click(object sender, RoutedEventArgs e) { vm.ComHouseUnit(); SettingPageView settingPageView = new SettingPageView(); AppData.Instance.MainWindow.LoadPage(settingPageView); } private async void Start_Click(object sender, RoutedEventArgs e) { this.button1.IsEnabled = false; await vm.ComHouseInit(); this.button2.IsEnabled = true; this.button3.IsEnabled = true; this.button4.IsEnabled = true; this.button5.IsEnabled = true; this.button6.IsEnabled = true; this.button7.IsEnabled = true; this.button8.IsEnabled = true; } private void End_Click(object sender, RoutedEventArgs e) { vm.ComHouseUnit(); this.button1.IsEnabled = true; this.button2.IsEnabled = false; this.button3.IsEnabled = false; this.button4.IsEnabled = false; this.button5.IsEnabled = false; this.button6.IsEnabled = false; this.button7.IsEnabled = false; this.button8.IsEnabled = false; } private void BufferState_Click(object sender, RoutedEventArgs e) { Task.Run(() => { vm.BufferState(); }); } private void Are_Click(object sender, RoutedEventArgs e) { Task.Run(() => { vm.Are(); }); } /// /// 设置进气阀打开时间 /// /// /// private void In_Click(object sender, RoutedEventArgs e) { if (int.TryParse(this._newE_TextBox.Text.Trim(), out int newValue) && newValue >= 0) { Task.Run(() => { vm.writeE(newValue); }); } else { ShowMessage("进气阀打开时间只能输入大于等于0的数字"); } } private void Light0_Click(object sender, RoutedEventArgs e) { Task.Run(() => { vm.writeL(0); }); } private void Light900_Click(object sender, RoutedEventArgs e) { Task.Run(() => { vm.writeL(900); }); } private void Light_Click(object sender, RoutedEventArgs e) { if (int.TryParse(this._led_TextBox.Text.Trim(), out int newValue) && newValue >= 0 && newValue <= 900) { Task.Run(() => { vm.writeL(newValue); }); } else { ShowMessage("请输入0-900的数字"); } } private void _led_TextBox_TextChanged(object sender, TextChangedEventArgs e) { TextBox passwordBox = sender as TextBox; if (passwordBox == null) return; string ss = passwordBox.Text.Trim(); if (string.IsNullOrEmpty(ss)) { passwordBox.Background = (VisualBrush)this.FindResource("HelpBrush1"); } else { passwordBox.Background = new SolidColorBrush(Colors.White); } } private async void Start1_Click(object sender, RoutedEventArgs e) { this.button1.IsEnabled = false; await vm.ComHouseInit(); this.button2.IsEnabled = true; this.button3.IsEnabled = true; this.button4.IsEnabled = true; this.button5.IsEnabled = true; this.button6.IsEnabled = true; this.button7.IsEnabled = true; this.button8.IsEnabled = true; } } }