20240301_JSEQ_upperpc/JiangsuEarthquakeNow/JiangsuEarthquake/Views/UserControls/AlarmSettingView.xaml.cs
XuMin 3b6c570800 1 经过电控腔测试和升压站测试;
2 解决了后一个通信连接会影响前一个通信连接的问题;
3 测试过程中存在的问题修改;
2024-09-03 16:30:34 +08:00

92 lines
2.9 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// AlarmSettingView.xaml 的交互逻辑
/// </summary>
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;
}
}
}
}