using JiangsuEarthquake.ViewModels; using System; using System.Collections.Generic; using System.Linq; 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; using UserControl = System.Windows.Controls.UserControl; namespace JiangsuEarthquake.Views.UserControls { /// /// AlarmSettingView.xaml 的交互逻辑 /// public partial class AlarmSettingView : UserControl { public AlarmSettingView(int id) { InitializeComponent(); this.AlarmParaCom.Items.Add("电流"); this.AlarmParaCom.Items.Add("电压"); this.AlarmFuncCom.Items.Add("下限报警"); this.AlarmFuncCom.Items.Add("上限报警"); this.AlarmFuncCom.Items.Add("上下限报警"); this.AlarmFuncCom.Items.Add("区间内报警"); //AlarmSetMessage.DataContext = MainWindow.mainViewModel; if (id == 1) this.DataContext = MainViewModel.boosterStationStateDataViewModel1; else this.DataContext = MainViewModel.boosterStationStateDataViewModel2; } private void AlarmUpTB_PreviewTextInput(object sender, TextCompositionEventArgs e) { int caretIndex = AlarmUpTB.CaretIndex; string textBefore = AlarmUpTB.Text.Substring(0, caretIndex); string textAfter = AlarmUpTB.Text.Substring(caretIndex); string newText = textBefore + e.Text + textAfter; if (IsIntegerInRange(newText, 1, 100)) { // 输入是有效的,允许输入 e.Handled = false; } else { // 输入不在1到120范围内,不允许输入 e.Handled = true; } } private bool IsIntegerInRange(string text, int min, int max) { if (int.TryParse(text, out int value) && value >= min && value <= max) { return true; } return false; } private void AlarmDownTB_PreviewTextInput(object sender, TextCompositionEventArgs e) { int caretIndex = AlarmDownTB.CaretIndex; string textBefore = AlarmDownTB.Text.Substring(0, caretIndex); string textAfter = AlarmDownTB.Text.Substring(caretIndex); string newText = textBefore + e.Text + textAfter; if (IsIntegerInRange(newText, 0, 120)) { // 输入是有效的,允许输入 e.Handled = false; } else { // 输入不在1到120范围内,不允许输入 e.Handled = true; } } } }