009_DI-Elec/newFront/c#前端/SWS.CAD/ViewModels/DialogIODistributionVM/DialogCablePreAssignResultViewModel.cs

180 lines
5.4 KiB
C#
Raw Normal View History

2025-08-15 16:34:31 +08:00
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<PreAssignCable> _PreAssignCables = new ObservableCollection<PreAssignCable>();
/// <summary>
/// 端子排参数信息列表
/// </summary>
public ObservableCollection<PreAssignCable> PreAssignCables
{
get { return _PreAssignCables; }
set
{
_PreAssignCables = value;
RaisePropertyChanged(nameof(PreAssignCables));
}
}
private StripParametersInfo _SelectedStripParametersInfo;
/// <summary>
/// 当前选中的信号类型
/// </summary>
public StripParametersInfo SelectedStripParametersInfo
{
get { return _SelectedStripParametersInfo; }
set
{
_SelectedStripParametersInfo = value;
RaisePropertyChanged(nameof(SelectedStripParametersInfo));
}
}
private bool _IsReadOnly;
/// <summary>
/// 是否可编辑
/// </summary>
public bool IsReadOnly
{
get { return _IsReadOnly; }
set
{
_IsReadOnly = value;
RaisePropertyChanged(nameof(IsReadOnly));
}
}
#region
private List<string> _TermNamingType_ls = new List<string>() { "数字", "字母" };
/// <summary>
/// 端子编号类型
/// </summary>
public List<string> TermNamingType_ls
{
get { return _TermNamingType_ls; }
set
{
_TermNamingType_ls = value;
RaisePropertyChanged(nameof(TermNamingType_ls));
}
}
private List<string> _TermNamingRule_ls = new List<string>() { "按端子排全局编号", "按通道内端子编号", "按通道编号" };
/// <summary>
/// 端子编号规则
/// </summary>
public List<string> TermNamingRule_ls
{
get { return _TermNamingRule_ls; }
set
{
_TermNamingRule_ls = value;
RaisePropertyChanged(nameof(TermNamingRule_ls));
}
}
private List<string> _TermNamePrefix_ls = new List<string>() { "通道编号", "+,-,s", "无" };
/// <summary>
/// 端子前缀
/// </summary>
public List<string> TermNamePrefix_ls
{
get { return _TermNamePrefix_ls; }
set
{
_TermNamePrefix_ls = value;
RaisePropertyChanged(nameof(TermNamePrefix_ls));
}
}
private List<string> _TermNameSuffix_ls = new List<string>() { "通道编号", "+,-,s", "无" };
/// <summary>
/// 端子后缀
/// </summary>
public List<string> 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<ec_Cable> CablePreAssigns;
public async void OnDialogOpened(IDialogParameters parameters)
{
//title = parameters.GetValue<string>(GlobalObject.dialogPar.title.ToString());
title = "信号预分配结果";
_PreAssignCables = parameters.GetValue<ObservableCollection<PreAssignCable>>(GlobalObject.dialogPar.para1.ToString());
_IsReadOnly = parameters.GetValue<bool>(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);
/// <summary>
/// 编辑结束事件
/// </summary>
/// <param name="parameter"></param>
public virtual void EditEnd(object parameter)
{
//做个标记表示该项修改过
}
#endregion
}
}