using KGIS.Framework.Platform;
using Kingo.Plugin.MapView.Enum;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kingo.Plugin.MapView.Model
{
public class PropertyGridDataStruct : IPropertyStruct, INotifyPropertyChanged
{
public string HeaderToolTip { get; set; }
///
/// 属性名(键)
///
public string Key { get; set; }
public string FieldName { get; set; }
public string Text { get; set; }
private string _SelectText;
public string SelectText
{
get
{
return _SelectText;
}
set
{
_SelectText = value;
//if (PropertyChanged != null)
// PropertyChanged(this, new PropertyChangedEventArgs("SelectText"));
}
}
///
/// 显示字体颜色
///
private string _FontColor;
public string FontColor
{
get
{
return _FontColor;
}
set
{
_FontColor = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("FontColor"));
}
}
private string _Value;
///
/// 属性值
///
public string Value
{
get
{
return _Value;
}
set
{
_Value = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("Value"));
}
}
public int KeyIndex { get; set; }
public int ValueIndex { get; set; }
///
/// 属性类型
///
public enumPropertyType PropertyType { get; set; }
///
/// 字典Code;当PropertyType=ComboBox时必填
///
public string DicCode { get; set; }
private List _DicData;
public List DicData
{
//get
//{
// return _DicData;
//}
//set
//{
// _DicData = value;
// //if (PropertyChanged != null)
// //{
// // PropertyChanged(this, new PropertyChangedEventArgs("DicData"));
// //}
//}
get
{
return _DicData;
}
set
{
_DicData = value;
if (BaseDicData == null || BaseDicData.Count <= 0)
{
BaseDicData = value;
}
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("DicData"));
}
}
}
private string _DisplayPath;
///
/// 显示字段(初始化字典绑定)
///
public string DisplayMemberPath
{
get
{
if (string.IsNullOrWhiteSpace(_DisplayPath))
return "NAME";
return _DisplayPath;
}
set
{
_DisplayPath = value;
//if (PropertyChanged != null)
//{
// PropertyChanged(this, new PropertyChangedEventArgs("DisplayMemberPath"));
//}
}
}
private string _ValuePath;
///
/// 值字段(初始化字典绑定)
///
public string ValuePath
{
get
{
if (string.IsNullOrWhiteSpace(_ValuePath))
return "CODE";
return _ValuePath;
}
set
{
_ValuePath = value;
//if (PropertyChanged != null)
//{
// PropertyChanged(this, new PropertyChangedEventArgs("ValuePath"));
//}
}
}
private bool _IsReadOnly;
///
/// 是否只读
///
public bool IsReadOnly
{
get
{
return _IsReadOnly;
}
set
{
_IsReadOnly = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("IsReadOnly"));
}
}
}
///
/// 允许空值
///
public bool AllowNull { get; set; }
///
/// 表示下拉框是否需要分组(树形)显示
///
public bool IsGroup { get; set; }
public bool CheckBoxValue { get; set; }
public bool Visible { get; set; }
public int Order { get; set; }
private List _MultiSelectDicData;
public List MultiSelectDicData
{
get
{
return _MultiSelectDicData;
}
set
{
_MultiSelectDicData = value;
//if (PropertyChanged != null)
//{
// PropertyChanged(this, new PropertyChangedEventArgs("MultiSelectDicData"));
//}
}
}
public event PropertyChangedEventHandler PropertyChanged;// = delegate { };
public List BaseDicData
{
get;
set;
}
}
public interface IPropertyStruct
{
string Key { get; set; }
string Value { get; set; }
List DicData { get; set; }
string DisplayMemberPath { get; set; }
string ValuePath { get; set; }
bool IsReadOnly { get; set; }
bool Visible { get; set; }
}
}