终端一体化运控平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

VariableConfig.xaml.cs 2.4 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using BPASmart.Model;
  2. using BPASmart.VariableManager.ViewModels;
  3. using BPA.Helper;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Diagnostics;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows;
  11. using System.Windows.Controls;
  12. using System.Windows.Data;
  13. using System.Windows.Documents;
  14. using System.Windows.Input;
  15. using System.Windows.Media;
  16. using System.Windows.Media.Imaging;
  17. using System.Windows.Navigation;
  18. using System.Windows.Shapes;
  19. namespace BPASmart.VariableManager.Views
  20. {
  21. /// <summary>
  22. /// VariableConfig.xaml 的交互逻辑
  23. /// </summary>
  24. public partial class VariableConfig : UserControl
  25. {
  26. public VariableConfig()
  27. {
  28. InitializeComponent();
  29. this.IsVisibleChanged += VariableConfig_IsVisibleChanged;
  30. this.Unloaded += VariableConfig_Unloaded;
  31. }
  32. private void VariableConfig_Unloaded(object sender, RoutedEventArgs e)
  33. {
  34. Json<CommunicationPar>.Save(FileConfigModel.VarConfigPath);
  35. }
  36. private void VariableConfig_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
  37. {
  38. var obj = (VariableConfig)sender;
  39. if (!obj.IsVisible)
  40. {
  41. DelegationNotifi.GetInstance.VariableSave?.Invoke();
  42. DelegationNotifi.GetInstance.VariableSave = null;
  43. DelegationNotifi.GetInstance.VarNameChanged = null;
  44. }
  45. else
  46. {
  47. this.DataContext = new VariableConfigViewModel(this.Name);
  48. }
  49. }
  50. private void TabGrid_SizeChanged(object sender, SizeChangedEventArgs e)
  51. {
  52. var res = TabGrid.ColumnDefinitions;
  53. if (res != null && res.Count >= 3)
  54. {
  55. object[] widths = new object[] { 0, 0 };
  56. widths[0] = res.ElementAt(1).ActualWidth;
  57. widths[1] = res.ElementAt(2).ActualWidth;
  58. ActionManage.GetInstance.Send("TabGridSizeChanged", widths);
  59. }
  60. }
  61. private void TextBox_KeyDown(object sender, KeyEventArgs e)
  62. {
  63. var uie = e.OriginalSource as TextBox;
  64. if (uie != null)
  65. {
  66. if (e.Key == Key.Enter)
  67. {
  68. uie.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
  69. e.Handled = true;
  70. }
  71. }
  72. }
  73. }
  74. }