我在WPF C#中有一个类,它有助于索引属性。我写了这样的课:
public class CSIndexedGridRow
{
private int? [] _columns;
public CSIndexedGridRow(int numberOfColumns )
{
_columns = new int?[numberOfColumns];
for (int i =0; i< _columns.Length; i++)
{
_columns[i] = null;
}
}
public int RowNumber { get; internal set; }
public int? this[int index]
{
get
{
if (index >= _columns.Length)
throw new IndexOutOfRangeException();
return _columns[index];
}
set{
if (index >= _columns.Length)
throw new IndexOutOfRangeException();
if (value != _columns[index])
{
_columns[index] = value;
}
}
}
}
如您所见,有一个行号属性,然后是索引属性。替代方案可能是:
public int RowNumber {get; set;}
public int? ColumnA {get; set;}
public int? ColumnB {get; set;}
// ... ad infinitum
这将是一个可怕的混乱。它(可怕的混乱)确实具有数据绑定工作的优势。我有这些类的列表: 公共列表USData
我将它数据绑定到数据网格,如下所示:
<Grid>
<DataGrid ItemsSource="{Binding Path=USData, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="True" ></DataGrid>
</Grid>
它与乱码方式一起工作正常,但与索引属性无关。你得到了所有的行,并显示了RowNumber,但是下一列只是一个像这样的大行-------------
发生了什么事?我如何数据绑定到已将索引属性作为其属性之一的对象列表?
谢谢, 戴夫