using System; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; using System.Windows; using Exception = System.Exception; namespace Saga.PlugIn.Other { /// /// WinParameterDic.xaml 的交互逻辑 /// public partial class WinParameterDic : INotifyPropertyChanged { public WinParameterDic() { InitializeComponent(); CopyRange = CopyParameterValue.AllStr; ParameterDic = new ObservableCollection(); ParameterDic.Add(new PropertyItem() { Name = "车位编号", Value = "设备本地编码" }); this.DataContext = this; } #region Binding private ObservableCollection m_ParameterDic; public ObservableCollection ParameterDic { get { return m_ParameterDic; } set { m_ParameterDic = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(ParameterDic))); } } private PropertyItem m_SelectItem; public PropertyItem SelectItem { get { return m_SelectItem; } set { m_SelectItem = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SelectItem))); } } private string m_CopyRange; public string CopyRange { get { return m_CopyRange; } set { m_CopyRange = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CopyRange))); } } #endregion public event PropertyChangedEventHandler PropertyChanged; private void ButtonBase_OnClick(object sender, RoutedEventArgs e) { try { } catch (Exception exception) { Console.WriteLine(exception); } this.DialogResult = true; } private void BtnAdd_OnClick(object sender, RoutedEventArgs e) { var item = ParameterDic.FirstOrDefault(t => t.Name == null && t.Value == null); if (item == null) { item = new PropertyItem(); ParameterDic.Add(item); } SelectItem = item; } private void BtnDel_OnClick(object sender, RoutedEventArgs e) { if (SelectItem != null) ParameterDic.Remove(SelectItem); } } public class PropertyItem { public string Name { get; set; } public string Value { get; set; } } }