147 lines
4.2 KiB
C#
147 lines
4.2 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
using System.Windows;
|
|
using Prism.Services.Dialogs;
|
|
using SWS.Commons;
|
|
using SWS.Model;
|
|
using Telerik.Windows.Controls;
|
|
using DialogParameters = Prism.Services.Dialogs.DialogParameters;
|
|
|
|
namespace SWS.WPF.ViewModels
|
|
{
|
|
public class DialogSignalSelectViewModel : DialogBase, IDialogAware
|
|
{
|
|
|
|
public DialogSignalSelectViewModel()
|
|
{
|
|
|
|
}
|
|
|
|
public string Title => "";
|
|
|
|
public event Action<IDialogResult> RequestClose;
|
|
|
|
public bool CanCloseDialog()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public void OnDialogClosed()
|
|
{
|
|
|
|
}
|
|
private ObservableCollection<Signal> _listSignal;
|
|
/// <summary>
|
|
/// 单位列表
|
|
/// </summary>
|
|
public ObservableCollection<Signal> listSignal
|
|
{
|
|
get { return _listSignal; }
|
|
set { _listSignal = value; RaisePropertyChanged(nameof(listSignal)); }
|
|
}
|
|
private Signal _SelectedSignal;
|
|
/// <summary>
|
|
/// 选中的单位
|
|
/// </summary>
|
|
public Signal SelectedSignal
|
|
{
|
|
get { return _SelectedSignal; }
|
|
set { _SelectedSignal = value; RaisePropertyChanged(nameof(SelectedSignal)); }
|
|
}
|
|
|
|
private string _Info;
|
|
/// <summary>
|
|
/// 列表上方文字
|
|
/// </summary>
|
|
public string Info
|
|
{
|
|
get { return _Info; }
|
|
set { _Info = value; RaisePropertyChanged(nameof(Info)); }
|
|
}
|
|
|
|
|
|
public void OnDialogOpened(IDialogParameters parameters)
|
|
{
|
|
title = parameters.GetValue<string>(GlobalObject.dialogPar.title.ToString());
|
|
Info = parameters.GetValue<string>(GlobalObject.dialogPar.info.ToString());
|
|
var signals = parameters.GetValue<ObservableCollection<SignalManagementInfo>>(GlobalObject.dialogPar.para1.ToString());
|
|
|
|
listSignal = new ObservableCollection<Signal>();
|
|
foreach (var item in signals)
|
|
{
|
|
if (title.Equals("信号选择框"))
|
|
{
|
|
if (item.type.Equals("信号"))
|
|
{
|
|
listSignal.Add(new Signal() { SignalId = item.Wire_Group_ID, SignalName = item.Group_Name });
|
|
}
|
|
}
|
|
else if (title.Equals("信号关联列表"))
|
|
{
|
|
listSignal.Add(new Signal() { SignalId = item.Wire_Group_ID, SignalName = item.Group_Name });
|
|
}
|
|
|
|
}
|
|
}
|
|
public override void ExecuteOKCommandAsync(object para)
|
|
{
|
|
if (title.Equals("信号选择框"))
|
|
{
|
|
if (SelectedSignal == null)
|
|
{
|
|
MessageBox.Show("请选择一个信号!");
|
|
return;
|
|
}
|
|
}
|
|
else if (title.Equals("信号关联列表"))
|
|
{
|
|
}
|
|
IDialogParameters par = new DialogParameters();
|
|
par.Add(GlobalObject.dialogPar.para1.ToString(), SelectedSignal);
|
|
DialogResult result = new DialogResult(ButtonResult.Yes, par);
|
|
RequestClose.Invoke(result);
|
|
}
|
|
public override void ExecuteCloseCommand(object parameter)
|
|
{
|
|
if (parameter as string == "ClickNo")
|
|
{
|
|
DialogResult result = new DialogResult(ButtonResult.No);
|
|
RequestClose.Invoke(result);
|
|
}
|
|
else
|
|
{
|
|
DialogResult result = new DialogResult(ButtonResult.Cancel);
|
|
RequestClose.Invoke(result);
|
|
}
|
|
this.Dispose();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public class Signal : ViewModelBase
|
|
{
|
|
private string _SignalId;
|
|
/// <summary>
|
|
/// Id
|
|
/// </summary>
|
|
public string SignalId
|
|
{
|
|
get { return _SignalId; }
|
|
set { _SignalId = value; RaisePropertyChanged(nameof(SignalId)); }
|
|
}
|
|
|
|
private string _SignalName;
|
|
/// <summary>
|
|
/// 信号
|
|
/// </summary>
|
|
public string SignalName
|
|
{
|
|
get { return _SignalName; }
|
|
set { _SignalName = value; RaisePropertyChanged(nameof(SignalName)); }
|
|
}
|
|
|
|
}
|
|
|
|
}
|