AddMotionCardDialog.xaml.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using TeamAAS.Communication.Enums;
  16. using TeamAAS.Motion;
  17. using TeamAAS.Motion.AdapterFactorys;
  18. using TeamAAS.Motion.Models;
  19. using TeamAAS.Robot.Enums;
  20. using TeamAAS.Robot.Models;
  21. namespace TeamAAS.Views
  22. {
  23. /// <summary>
  24. /// AddMotionCardDialog.xaml 的交互逻辑
  25. /// </summary>
  26. public partial class AddMotionCardDialog
  27. {
  28. public MotionDeviceConfig Result { get; private set; }
  29. public AddMotionCardDialog(MotionManager motionManage)
  30. {
  31. InitializeComponent();
  32. cbBrand.ItemsSource = motionManage.DevicePluginManager.Factories;
  33. cbBrand.DisplayMemberPath = "Key";
  34. cbBrand.SelectedValuePath= "Value";
  35. }
  36. private void BtnOK_Click(object sender, RoutedEventArgs e)
  37. {
  38. string AdapterKey="";
  39. if ( cbBrand.SelectedItem is KeyValuePair<string, IDeviceAdapterFactory> kv )
  40. {
  41. AdapterKey = kv.Key;
  42. }
  43. else
  44. {
  45. DialogResult = false;
  46. return;
  47. }
  48. Result = new MotionDeviceConfig
  49. {
  50. Name = string.IsNullOrWhiteSpace(txtName.Text) ? "未命名控制卡" : txtName.Text.Trim(),
  51. AdapterKey = AdapterKey,
  52. };
  53. DialogResult = true;
  54. }
  55. }
  56. }