WinParameterDic.xaml.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. using System;
  2. using System.Collections.ObjectModel;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Windows;
  6. using Exception = System.Exception;
  7. namespace Saga.PlugIn.Other
  8. {
  9. /// <summary>
  10. /// WinParameterDic.xaml 的交互逻辑
  11. /// </summary>
  12. public partial class WinParameterDic : INotifyPropertyChanged
  13. {
  14. public WinParameterDic()
  15. {
  16. InitializeComponent();
  17. CopyRange = CopyParameterValue.AllStr;
  18. ParameterDic = new ObservableCollection<PropertyItem>();
  19. ParameterDic.Add(new PropertyItem() { Name = "车位编号", Value = "设备本地编码" });
  20. this.DataContext = this;
  21. }
  22. #region Binding
  23. private ObservableCollection<PropertyItem> m_ParameterDic;
  24. public ObservableCollection<PropertyItem> ParameterDic
  25. {
  26. get { return m_ParameterDic; }
  27. set
  28. {
  29. m_ParameterDic = value;
  30. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(ParameterDic)));
  31. }
  32. }
  33. private PropertyItem m_SelectItem;
  34. public PropertyItem SelectItem
  35. {
  36. get { return m_SelectItem; }
  37. set
  38. {
  39. m_SelectItem = value;
  40. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SelectItem)));
  41. }
  42. }
  43. private string m_CopyRange;
  44. public string CopyRange
  45. {
  46. get { return m_CopyRange; }
  47. set
  48. {
  49. m_CopyRange = value;
  50. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CopyRange)));
  51. }
  52. }
  53. #endregion
  54. public event PropertyChangedEventHandler PropertyChanged;
  55. private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
  56. {
  57. try
  58. {
  59. }
  60. catch (Exception exception)
  61. {
  62. Console.WriteLine(exception);
  63. }
  64. this.DialogResult = true;
  65. }
  66. private void BtnAdd_OnClick(object sender, RoutedEventArgs e)
  67. {
  68. var item = ParameterDic.FirstOrDefault(t => t.Name == null && t.Value == null);
  69. if (item == null)
  70. {
  71. item = new PropertyItem();
  72. ParameterDic.Add(item);
  73. }
  74. SelectItem = item;
  75. }
  76. private void BtnDel_OnClick(object sender, RoutedEventArgs e)
  77. {
  78. if (SelectItem != null)
  79. ParameterDic.Remove(SelectItem);
  80. }
  81. }
  82. public class PropertyItem
  83. {
  84. public string Name { get; set; }
  85. public string Value { get; set; }
  86. }
  87. }