DepartmentProject/DepartmentPortal/Common/ModuleTools/Attributes/ViewModelOnListPropertyAttribute.cs

51 lines
1.6 KiB
C#
Raw Normal View History

using System;
namespace ModuleTools.Attributes
{
/// <summary>
/// Настройка отображения свойства класса при табличном выводе списка объектов класса (требуется для автоматизации вывода списка,
/// применяется к классам ElementViewModel)
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public class ViewModelOnListPropertyAttribute : Attribute
{
/// <summary>
/// Название на форме
/// </summary>
public string DisplayName { get; set; }
/// <summary>
/// Скрывать или нет при выводе списка
/// </summary>
public bool IsHide { get; set; }
/// <summary>
/// Ширина колонки
/// </summary>
public int? ColumnWidth { get; set; }
/// <summary>
/// Настройка отображения элемента в контролах
/// </summary>
/// <param name="displayName">Название на форме</param>
/// <param name="isHide">Скрывать или нет</param>
public ViewModelOnListPropertyAttribute(string displayName, bool isHide = false)
{
DisplayName = displayName;
ColumnWidth = null;
IsHide = isHide;
}
/// <summary>
/// Конструктор
/// </summary>
/// <param name="displayName">Название на форме</param>
/// <param name="columnWidth">Ширина колонки</param>
public ViewModelOnListPropertyAttribute(string displayName, int columnWidth)
{
DisplayName = displayName;
ColumnWidth = columnWidth;
IsHide = false;
}
}
}