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;
}
}
}