Files

52 lines
1.4 KiB
C#
Raw Permalink Normal View History

using MwFramework.ManagerService;
using Stylet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MainShell.Models
{
public class RegionModel : PropertyChangedBase , IParameterItem
{
private int _startRow = 1;
private int _startCol = 1;
private int _endRow = 1;
private int _endCol = 1;
public int StartRow
{
get => _startRow;
set { if (SetAndNotify(ref _startRow, value)) OnPropertyChanged(nameof(RowCount)); }
}
public int StartCol
{
get => _startCol;
set { if (SetAndNotify(ref _startCol, value)) OnPropertyChanged(nameof(ColCount)); }
}
public int EndRow
{
get => _endRow;
set { if (SetAndNotify(ref _endRow, Math.Max(_startRow, value))) OnPropertyChanged(nameof(RowCount)); }
}
public int EndCol
{
get => _endCol;
set { if (SetAndNotify(ref _endCol, Math.Max(_startCol, value))) OnPropertyChanged(nameof(ColCount)); }
}
// 只读属性,方便 UI 显示占用规模
public int RowCount => EndRow - StartRow + 1;
public int ColCount => EndCol - StartCol + 1;
public IParameterItem Clone()
{
return MemberwiseClone() as IParameterItem;
}
}
}