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.Shapes; namespace FAtoPA.Net { /// /// Interaction logic for Window1.xaml /// public partial class InputBox : Window { private String _key; public String FsmState { get => _key; } private short _value; public short ModbusRegister { get => _value; } private List ModbusRegisters; public InputBox(string key, short value) { _key = key; _value = value; ModbusRegisters = new List(); for (short i = 0; i < 10; i++) { ModbusRegisters.Add(i); } InitializeComponent(); cbModbusRegister.ItemsSource = ModbusRegisters; txtLogicalState.Content = key; cbModbusRegister.SelectedIndex = ModbusRegisters.IndexOf(value); DataContext = this; } private void Cancel_Click(object sender, RoutedEventArgs e) { this.DialogResult = false; Close(); } private void OK_Click(object sender, RoutedEventArgs e) { if (cbModbusRegister.SelectedIndex != -1) { var selected = cbModbusRegister.SelectedItem; if (selected != null) { short vv = (short)selected; if (vv!= _value) { _value = vv; this.DialogResult = true; } else { this.DialogResult = false; } Close(); return; } } MessageBox.Show("Please select a Modbus Register"); } } }