V1.2
This commit is contained in:
58
CapMachine.Wpf/Models/ComEnum.cs
Normal file
58
CapMachine.Wpf/Models/ComEnum.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CapMachine.Wpf.Models
|
||||
{
|
||||
public class ComEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 标签类型
|
||||
/// </summary>
|
||||
public enum TagType
|
||||
{
|
||||
/// <summary>
|
||||
/// 仪表数据
|
||||
/// </summary>
|
||||
Meter = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 通讯的数据,来自于通信
|
||||
/// </summary>
|
||||
Comms = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 普通的标签数据
|
||||
/// </summary>
|
||||
Tag = 3,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据类型
|
||||
/// </summary>
|
||||
public enum DataType
|
||||
{
|
||||
/// <summary>
|
||||
/// 字
|
||||
/// </summary>
|
||||
Short = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 浮点数
|
||||
/// </summary>
|
||||
Double = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 字符串
|
||||
/// </summary>
|
||||
String = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 字节
|
||||
/// </summary>
|
||||
Byte = 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -147,20 +147,20 @@ namespace CapMachine.Wpf.Models
|
||||
/// </summary>
|
||||
public string RtAddressSV;
|
||||
|
||||
/// <summary>
|
||||
/// MV值的UI展示名称
|
||||
/// </summary>
|
||||
public string RtMVUIControlIndex;
|
||||
///// <summary>
|
||||
///// MV值的UI展示名称
|
||||
///// </summary>
|
||||
//public string RtMVUIControlIndex;
|
||||
|
||||
/// <summary>
|
||||
/// PV值的UI展示名称
|
||||
/// </summary>
|
||||
public string RtPVUIControlIndex;
|
||||
///// <summary>
|
||||
///// PV值的UI展示名称
|
||||
///// </summary>
|
||||
//public string RtPVUIControlIndex;
|
||||
|
||||
/// <summary>
|
||||
/// SV值的UI展示名称
|
||||
/// </summary>
|
||||
public string RtSVUIControlIndex;
|
||||
///// <summary>
|
||||
///// SV值的UI展示名称
|
||||
///// </summary>
|
||||
//public string RtSVUIControlIndex;
|
||||
|
||||
/// <summary>
|
||||
/// UI展示名称标题
|
||||
@@ -180,16 +180,22 @@ namespace CapMachine.Wpf.Models
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
#region 仪表整体信息
|
||||
|
||||
/// <summary>
|
||||
/// 仪表连接状态
|
||||
/// </summary>
|
||||
public bool LinkState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 仪表名称
|
||||
/// 仪表名称 中文
|
||||
/// </summary>
|
||||
public string MeterName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 仪表名称 英文
|
||||
/// </summary>
|
||||
public string MeterEnName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 仪表站号
|
||||
/// </summary>
|
||||
@@ -208,7 +214,7 @@ namespace CapMachine.Wpf.Models
|
||||
/// <summary>
|
||||
/// 精度
|
||||
/// </summary>
|
||||
public Int16 Accuracy { get; set; }
|
||||
public short Precision { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
|
||||
101
CapMachine.Wpf/Models/Tag/BaseTag.cs
Normal file
101
CapMachine.Wpf/Models/Tag/BaseTag.cs
Normal file
@@ -0,0 +1,101 @@
|
||||
using HslCommunication;
|
||||
using ImTools;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Prism.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
/// <summary>
|
||||
/// 基础模型
|
||||
/// </summary>
|
||||
public abstract class BaseTag : BindableBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 实例化函数
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="enName"></param>
|
||||
/// <param name="tagType"></param>
|
||||
public BaseTag(string name, string enName, string unit, TagType tagType)
|
||||
{
|
||||
TagTypeInfo = tagType;
|
||||
Name = name;
|
||||
Unit = unit;
|
||||
EnName = enName;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 名称 中文
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称 英文
|
||||
/// </summary>
|
||||
public string EnName { get; set; }
|
||||
|
||||
|
||||
///// <summary>
|
||||
///// 实时值
|
||||
///// </summary>
|
||||
public abstract IRegisterValue<T> RtValue { get; set; }
|
||||
|
||||
/////// <summary>
|
||||
/////// 原始值实时值
|
||||
/////// </summary>
|
||||
//public abstract OperateResult<T> OperateResultSource { get; set; } //
|
||||
|
||||
/// <summary>
|
||||
/// 标签类型信息
|
||||
/// </summary>
|
||||
public TagType TagTypeInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据类型信息
|
||||
/// </summary>
|
||||
public abstract DataType DataTypeInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 地址信息
|
||||
/// </summary>
|
||||
public string Address { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 地址信息 Index
|
||||
/// </summary>
|
||||
public string Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最大值
|
||||
/// </summary>
|
||||
public double MaxValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最小值
|
||||
/// </summary>
|
||||
public double MinValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 精度
|
||||
/// 小数点
|
||||
/// </summary>
|
||||
public short Precision { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 采样周期
|
||||
/// </summary>
|
||||
public int SamplingPeriod { get; set; }
|
||||
}
|
||||
}
|
||||
77
CapMachine.Wpf/Models/Tag/ByteTag.cs
Normal file
77
CapMachine.Wpf/Models/Tag/ByteTag.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using HslCommunication;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Prism.Mvvm;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
/// <summary>
|
||||
/// 字节变量模型
|
||||
/// </summary>
|
||||
public class ByteTag<T> /*: BaseTag*/
|
||||
{
|
||||
///// <summary>
|
||||
///// 实例化函数
|
||||
///// </summary>
|
||||
///// <param name="name"></param>
|
||||
///// <param name="enName"></param>
|
||||
///// <param name="unit"></param>
|
||||
///// <param name="tagType"></param>
|
||||
//public ByteTag(string name, string enName, string unit, ComEnum.TagType tagType, T registerValue) : base(name, enName, unit, tagType)
|
||||
//{
|
||||
// //IRegisterValue<short> registerValue = new RegisterValue<short>();
|
||||
|
||||
// //RtValue = registerValue;
|
||||
//}
|
||||
|
||||
|
||||
|
||||
public string Name { get; set; }
|
||||
//T BaseTag.RtValue { get; set; }
|
||||
|
||||
//private IRegisterValue<T> _RtValue;
|
||||
///// <summary>
|
||||
///// 实时值
|
||||
///// </summary>
|
||||
//public override IRegisterValue<T> RtValue
|
||||
//{
|
||||
// get { return _RtValue; }
|
||||
// set { _RtValue = value; RaisePropertyChanged(); }
|
||||
//}
|
||||
|
||||
//public override IRegisterValue<T> RtValue { set => throw new NotImplementedException(); }
|
||||
|
||||
//private OperateResult<byte> _OperateResultSource;
|
||||
///// <summary>
|
||||
///// 原始值
|
||||
///// </summary>
|
||||
//public override OperateResult<byte> OperateResultSource
|
||||
//{
|
||||
// get { return _OperateResultSource; }
|
||||
// set
|
||||
// {
|
||||
// if (value != _OperateResultSource)
|
||||
// {
|
||||
// RtValue = value.Content;
|
||||
// }
|
||||
// _OperateResultSource = value;
|
||||
// }
|
||||
//}
|
||||
|
||||
//private DataType _DataTypeInfo;
|
||||
///// <summary>
|
||||
///// 数据类型信息
|
||||
///// </summary>
|
||||
//public override DataType DataTypeInfo
|
||||
//{
|
||||
// get { return _DataTypeInfo; }
|
||||
// set { _DataTypeInfo = value; RaisePropertyChanged(); }
|
||||
//}
|
||||
|
||||
//public override IRegisterValue<T> RtValue { set => throw new NotImplementedException(); }
|
||||
|
||||
//public override IRegisterValue<T> RtValue => throw new NotImplementedException();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
15
CapMachine.Wpf/Models/Tag/IRegisterValue.cs
Normal file
15
CapMachine.Wpf/Models/Tag/IRegisterValue.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using HslCommunication;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
public interface IRegisterValue<T>
|
||||
{
|
||||
T Value { get; set; }
|
||||
OperateResult<T> OperateResultSource { get; set; }
|
||||
}
|
||||
}
|
||||
17
CapMachine.Wpf/Models/Tag/ITag.cs
Normal file
17
CapMachine.Wpf/Models/Tag/ITag.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Prism.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
public interface ITag
|
||||
{
|
||||
string Name { get; set; }
|
||||
|
||||
T RtValue { get; set; }
|
||||
}
|
||||
}
|
||||
15
CapMachine.Wpf/Models/Tag/RegisterValue.cs
Normal file
15
CapMachine.Wpf/Models/Tag/RegisterValue.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using HslCommunication;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
public class RegisterValue : IRegisterValue<byte>
|
||||
{
|
||||
public byte Value { get; set; }
|
||||
public OperateResult<byte>? OperateResultSource { get; set; }
|
||||
}
|
||||
}
|
||||
59
CapMachine.Wpf/Models/Tag/RtDataModel.cs
Normal file
59
CapMachine.Wpf/Models/Tag/RtDataModel.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using HslCommunication;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
/// <summary>
|
||||
/// 实时数据模型
|
||||
/// </summary>
|
||||
public class RtDataModel : TagInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 实例化函数
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="enName"></param>
|
||||
/// <param name="unit"></param>
|
||||
/// <param name="tagType"></param>
|
||||
public RtDataModel(string name, string enName, string unit, TagType tagType, bool IsChart) : base(name, enName, unit, tagType)
|
||||
{
|
||||
IsChartShow = IsChart;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分类信息
|
||||
/// </summary>
|
||||
public string Category { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 通信结果 实时值
|
||||
/// </summary>
|
||||
private OperateResult<Int16> _OperateResultRtValue;
|
||||
public OperateResult<Int16> OperateResultRtValue
|
||||
{
|
||||
get { return _OperateResultRtValue; }
|
||||
set { _OperateResultRtValue = value; }
|
||||
}
|
||||
|
||||
private double _RtValue;
|
||||
/// <summary>
|
||||
/// 实时值
|
||||
/// </summary>
|
||||
public double RtValue
|
||||
{
|
||||
get { return _RtValue; }
|
||||
set { _RtValue = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 实时值的地址
|
||||
/// </summary>
|
||||
public string RtValueAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否曲线显示
|
||||
/// </summary>
|
||||
public bool IsChartShow { get; set; }
|
||||
}
|
||||
}
|
||||
55
CapMachine.Wpf/Models/Tag/ShortTag.cs
Normal file
55
CapMachine.Wpf/Models/Tag/ShortTag.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using HslCommunication;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
///// <summary>
|
||||
///// 字变量模型
|
||||
///// </summary>
|
||||
//public class ShortTag: BaseTag
|
||||
//{
|
||||
// public ShortTag(string name, string enName, string unit, ComEnum.TagType tagType) : base(name, enName, unit, tagType)
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// private short _RtValue;
|
||||
// /// <summary>
|
||||
// /// 实时值
|
||||
// /// </summary>
|
||||
// public override short RtValue
|
||||
// {
|
||||
// get { return _RtValue; }
|
||||
// set { _RtValue = value; RaisePropertyChanged(); }
|
||||
// }
|
||||
|
||||
// private OperateResult<short> _OperateResultSource;
|
||||
// /// <summary>
|
||||
// /// 原始值
|
||||
// /// </summary>
|
||||
// public override OperateResult<short> OperateResultSource
|
||||
// {
|
||||
// get { return _OperateResultSource; }
|
||||
// set
|
||||
// {
|
||||
// if (value != _OperateResultSource)
|
||||
// {
|
||||
// RtValue= value.Content;
|
||||
// }
|
||||
// _OperateResultSource = value;
|
||||
// }
|
||||
// }
|
||||
|
||||
// private DataType _DataTypeInfo;
|
||||
// /// <summary>
|
||||
// /// 数据类型信息
|
||||
// /// </summary>
|
||||
// public override DataType DataTypeInfo
|
||||
// {
|
||||
// get { return _DataTypeInfo; }
|
||||
// set { _DataTypeInfo = value; RaisePropertyChanged(); }
|
||||
// }
|
||||
|
||||
//}
|
||||
}
|
||||
44
CapMachine.Wpf/Models/Tag/TagHelper.cs
Normal file
44
CapMachine.Wpf/Models/Tag/TagHelper.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
/// <summary>
|
||||
/// 标签帮助类
|
||||
/// </summary>
|
||||
public class TagHelper
|
||||
{
|
||||
private void ParseData(List<TagInfo> tagInfos)
|
||||
{
|
||||
//分组数据
|
||||
var GroupData = tagInfos.GroupBy(x => x.DataTypeInfo).ToList();
|
||||
foreach (var group in GroupData)
|
||||
{
|
||||
var key = group.Key;
|
||||
var TagListData = group.ToList();
|
||||
switch (group.Key)
|
||||
{
|
||||
case ComEnum.DataType.Short:
|
||||
|
||||
break;
|
||||
case ComEnum.DataType.Double:
|
||||
|
||||
break;
|
||||
case ComEnum.DataType.String:
|
||||
|
||||
break;
|
||||
case ComEnum.DataType.Byte:
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
93
CapMachine.Wpf/Models/Tag/TagInfo.cs
Normal file
93
CapMachine.Wpf/Models/Tag/TagInfo.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
using Prism.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
/// <summary>
|
||||
/// 标签的信息
|
||||
/// </summary>
|
||||
public abstract class TagInfo : BindableBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 实例化函数
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="enName"></param>
|
||||
/// <param name="tagType"></param>
|
||||
public TagInfo(string name,string enName, string unit,TagType tagType)
|
||||
{
|
||||
TagTypeInfo = tagType;
|
||||
Name = name;
|
||||
Unit = unit;
|
||||
EnName = enName;
|
||||
|
||||
//ListRtDataModel=new List<RtDataModel>();
|
||||
}
|
||||
|
||||
|
||||
//public List<RtDataModel> ListRtDataModel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称 中文
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称 英文
|
||||
/// </summary>
|
||||
public string EnName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标签类型信息
|
||||
/// </summary>
|
||||
public TagType TagTypeInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据类型信息
|
||||
/// </summary>
|
||||
public DataType DataTypeInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 地址信息
|
||||
/// </summary>
|
||||
public string Address { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 地址信息 Index
|
||||
/// </summary>
|
||||
public string Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最大值
|
||||
/// </summary>
|
||||
public double MaxValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最小值
|
||||
/// </summary>
|
||||
public double MinValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 精度
|
||||
/// 小数点
|
||||
/// </summary>
|
||||
public short Precision { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 采样周期
|
||||
/// </summary>
|
||||
public int SamplingPeriod { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
43
CapMachine.Wpf/Models/Tag/TagManager.cs
Normal file
43
CapMachine.Wpf/Models/Tag/TagManager.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
/// <summary>
|
||||
/// 标签管理中心
|
||||
/// </summary>
|
||||
public class TagManager
|
||||
{
|
||||
public TagManager()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 标签集合数据
|
||||
/// </summary>
|
||||
public List<BaseTag> ListTag = new List<BaseTag>();
|
||||
|
||||
///// <summary>
|
||||
///// 增加标签
|
||||
///// </summary>
|
||||
//public void AddTag(BaseTag baseTag)
|
||||
//{
|
||||
// ListTag.Add(baseTag);
|
||||
//}
|
||||
|
||||
///// <summary>
|
||||
///// 增加集合标签
|
||||
///// </summary>
|
||||
///// <param name="baseTags"></param>
|
||||
//public void AddRange(List<BaseTag<object>> baseTags)
|
||||
//{
|
||||
// ListTag.AddRange(baseTags);
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
42
CapMachine.Wpf/Models/Tag/VarTag.cs
Normal file
42
CapMachine.Wpf/Models/Tag/VarTag.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
///// <summary>
|
||||
///// 一般的处理方法
|
||||
///// </summary>
|
||||
///// <typeparam name="T"></typeparam>
|
||||
//public class VarTag<T> : BaseTag
|
||||
//{
|
||||
// public VarTag(string name, string enName, string unit, ComEnum.TagType tagType) : base(name, enName, unit, tagType)
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// private object _RtValue;
|
||||
// /// <summary>
|
||||
// /// 实时值
|
||||
// /// </summary>
|
||||
// public override object RtValue
|
||||
// {
|
||||
// get { return _RtValue; }
|
||||
// set { _RtValue = (T)Convert.ChangeType(value, typeof(T)); RaisePropertyChanged(); }
|
||||
// }
|
||||
|
||||
|
||||
// private DataType _DataTypeInfo;
|
||||
// /// <summary>
|
||||
// /// 数据类型信息
|
||||
// /// </summary>
|
||||
// public override DataType DataTypeInfo
|
||||
// {
|
||||
// get { return _DataTypeInfo; }
|
||||
// set { _DataTypeInfo = value; RaisePropertyChanged(); }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
Reference in New Issue
Block a user