using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Controls; using System.Windows; using Prism.Common; using Prism.Dialogs; using SWS.CAD.Services; using SWS.CAD.ViewModels.myViewModelBase; using SWS.CAD.Views.CustomControl; using SWS.CAD.Models; using Bricscad.EditorInput; using System.Windows.Input; using Telerik.Windows.Controls; namespace SWS.CAD.ViewModels { public class DialogCablePreAssignResultViewModel : DialogBase, IDialogAware { #region 字段 private ObservableCollection _PreAssignCables = new ObservableCollection(); /// /// 端子排参数信息列表 /// public ObservableCollection PreAssignCables { get { return _PreAssignCables; } set { _PreAssignCables = value; RaisePropertyChanged(nameof(PreAssignCables)); } } private StripParametersInfo _SelectedStripParametersInfo; /// /// 当前选中的信号类型 /// public StripParametersInfo SelectedStripParametersInfo { get { return _SelectedStripParametersInfo; } set { _SelectedStripParametersInfo = value; RaisePropertyChanged(nameof(SelectedStripParametersInfo)); } } private bool _IsReadOnly; /// /// 是否可编辑 /// public bool IsReadOnly { get { return _IsReadOnly; } set { _IsReadOnly = value; RaisePropertyChanged(nameof(IsReadOnly)); } } #region 表格下拉列表 private List _TermNamingType_ls = new List() { "数字", "字母" }; /// /// 端子编号类型 /// public List TermNamingType_ls { get { return _TermNamingType_ls; } set { _TermNamingType_ls = value; RaisePropertyChanged(nameof(TermNamingType_ls)); } } private List _TermNamingRule_ls = new List() { "按端子排全局编号", "按通道内端子编号", "按通道编号" }; /// /// 端子编号规则 /// public List TermNamingRule_ls { get { return _TermNamingRule_ls; } set { _TermNamingRule_ls = value; RaisePropertyChanged(nameof(TermNamingRule_ls)); } } private List _TermNamePrefix_ls = new List() { "通道编号", "+,-,s", "无" }; /// /// 端子前缀 /// public List TermNamePrefix_ls { get { return _TermNamePrefix_ls; } set { _TermNamePrefix_ls = value; RaisePropertyChanged(nameof(TermNamePrefix_ls)); } } private List _TermNameSuffix_ls = new List() { "通道编号", "+,-,s", "无" }; /// /// 端子后缀 /// public List TermNameSuffix_ls { get { return _TermNameSuffix_ls; } set { _TermNameSuffix_ls = value; RaisePropertyChanged(nameof(TermNameSuffix_ls)); } } #endregion #endregion public DialogCloseListener RequestClose { get; } public bool CanCloseDialog() { return true; } public void OnDialogClosed() { } private List CablePreAssigns; public async void OnDialogOpened(IDialogParameters parameters) { //title = parameters.GetValue(GlobalObject.dialogPar.title.ToString()); title = "信号预分配结果"; _PreAssignCables = parameters.GetValue>(GlobalObject.dialogPar.para1.ToString()); _IsReadOnly = parameters.GetValue(GlobalObject.dialogPar.para2.ToString()); } public override void ExecuteOKCommandAsync(object para) { //返回结果 Prism.Dialogs.DialogParameters res = new Prism.Dialogs.DialogParameters(); //res.Add(GlobalObject.dialogPar.para1.ToString(), SelectedStripParametersInfo); RequestClose.Invoke(res, ButtonResult.Yes); } public override void ExecuteCloseCommand(object parameter) { if (parameter as string == "ClickNo") { RequestClose.Invoke(ButtonResult.No); } else { RequestClose.Invoke(ButtonResult.Cancel); } this.Dispose(); } #region 方法 public ICommand EditEndCmd => new DelegateCommand(EditEnd); /// /// 编辑结束事件 /// /// public virtual void EditEnd(object parameter) { //做个标记表示该项修改过 } #endregion } }