20240301_JSEQ_upperpc/JiangsuEarthquakeJM/JiangsuEarthquake/Views/UserControls/AlarmSettingView.xaml.cs
春风过客 d7f51483a7 新增功能:
1 将地震仪数据读取功能单独成一个页面;
2024-05-13 18:51:05 +08:00

96 lines
3.0 KiB
C#
Raw 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;
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;
}
}
private void AlarmSetButton_Click(object sender, RoutedEventArgs e)
{
}
}
}