AddRobotDialog.xaml.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. using TeamAAS.Dialogs;
  5. using TeamAAS.Robot.Enums;
  6. using TeamAAS.Robot.Models;
  7. using TeamAAS.Communication.Enums;
  8. namespace TeamAAS.Views
  9. {
  10. public partial class AddRobotDialog
  11. {
  12. public RobotInfo Result { get; private set; }
  13. public AddRobotDialog()
  14. {
  15. InitializeComponent();
  16. UiScaler.Attach(this); // 分辨率/DPI 自适应
  17. }
  18. public AddRobotDialog(int robotCount) : this()
  19. {
  20. txtName.Text = $"机器人 {robotCount + 1}";
  21. }
  22. private void BtnOK_Click(object sender, RoutedEventArgs e)
  23. {
  24. var brandItem = cbBrand.SelectedItem as ComboBoxItem;
  25. var connItem = cbConnectType.SelectedItem as ComboBoxItem;
  26. var termItem = cbTerminator.SelectedItem as ComboBoxItem;
  27. var encItem = cbEncoding.SelectedItem as ComboBoxItem;
  28. Result = new RobotInfo
  29. {
  30. Id = Guid.NewGuid(),
  31. RobotName = string.IsNullOrWhiteSpace(txtName.Text) ? "未命名机器人" : txtName.Text.Trim(),
  32. RobotBrand = brandItem != null ? (RobotBrand)int.Parse(brandItem.Tag.ToString()) : RobotBrand.Default,
  33. ConnectType = connItem != null ? (TCPConnectType)int.Parse(connItem.Tag.ToString()) : TCPConnectType.Client,
  34. IP = string.IsNullOrWhiteSpace(txtIP.Text) ? "192.168.0.1" : txtIP.Text.Trim(),
  35. Port = (int)nudPort.Value,
  36. Terminator = termItem != null ? (Terminator)int.Parse(termItem.Tag.ToString()) : Terminator.CRLF,
  37. DataEncoding = encItem != null ? (DataEncoding)int.Parse(encItem.Tag.ToString()) : DataEncoding.Default,
  38. StepDistance = 1.0
  39. };
  40. DialogResult = true;
  41. }
  42. }
  43. }