具有多个相似属性的视图模型类
本文关键字:视图 模型 属性 相似 | 更新日期: 2023-09-27 17:49:21
我有一个视图模型类,我想用它来提供数据网格中要绑定的多列的可见性属性。以下是我所拥有的一个片段。
class ViewVM
{
private bool[] columnVisible;
public ViewVM ()
{
columnVisible = new bool[12];
}
private void BuildData(int BuildPeriod)
{
//Do stuff
for (int i = 1; i < 12; i++)
{
if (i <= BuildPeriod) columnVisible[i] = true;
else columnVisible[i] = false;
}
}
public bool Column1Visible { get { return columnVisible[1]; } }
public bool Column2Visible { get { return columnVisible[2]; } }
public bool Column3Visible { get { return columnVisible[3]; } }
//etc
}
我的问题是我不想有一个属性绑定到每一列。我宁愿有类似下面的东西,但c#不支持属性中的参数。有没有人有一个建议,我可以做一些类似于以下?
public bool ColumnVisible [int Column]
{
get { return columnVisible[Column]; }
}
谢谢。
最好的解决方案是用自定义控件组成网格,这些控件有自己的视图模型和绑定设置。网格很可能由几个列控件组成,每个列控件都有您要查找的属性。