0
我有一个视图模型类,我想用来提供一个数据网格中绑定到多个列的可见性属性。这是我所拥有的片段。查看模型类与多个相似的属性
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]; }
}
谢谢。
您可以使用转换器。即如果你希望列是不可见的,如果它们为null,那么你可以写一个nulltovisibilityconverter并绑定到列值 – user1
出于好奇,为什么不使用Grid类? WPF非常棒,可以扩展基本控件并扩展其功能。 https://msdn.microsoft.com/en-us/library/system.windows.controls.grid%28v=vs.110%29.aspx –
我有一个模型,用于从列表中扩展的列值具有表示列是否重要的属性的类,或者表示用户不关心列的值的类。 – Will