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

59 lines
1.7 KiB
C#

using System;
namespace ModuleTools.Attributes
{
/// <summary>
/// Настройка отображения свойства класса при выводе объекта класса (требуется для автоматизации вывода элемента,
/// применяется к классам ElementViewModel)
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public class ViewModelOnElementPropertyAttribute : Attribute
{
/// <summary>
/// Название на форме
/// </summary>
public string DisplayName { get; set; }
/// <summary>
/// Поле должно быть обязательно заполнено
/// </summary>
public bool MustHaveValue { get; set; } = false;
/// <summary>
/// Запрет на редактирование, только вывод
/// </summary>
public bool ReadOnly { get; set; } = false;
/// <summary>
/// Ширина
/// </summary>
public int? Width { get; set; }
/// <summary>
/// Высота
/// </summary>
public int? Height { get; set; }
/// <summary>
/// Конструктор
/// </summary>
/// <param name="displayName">Название на форме</param>
public ViewModelOnElementPropertyAttribute(string displayName)
{
DisplayName = displayName;
}
/// <summary>
/// Конструктор
/// </summary>
/// <param name="displayName">Название на форме</param>
/// <param name="width">Ширина</param>
/// <param name="height">Высота</param>
public ViewModelOnElementPropertyAttribute(string displayName, int width, int height)
{
DisplayName = displayName;
Width = width;
Height = height;
}
}
}