C# 将ListView绑定到不带命名属性的ArrayList项的ObservableCollection

C# 将ListView绑定到不带命名属性的ArrayList项的ObservableCollection,c#,listview,arraylist,observablecollection,C#,Listview,Arraylist,Observablecollection,首先: <ListView Height="259" HorizontalAlignment="Left" Margin="7,6,0,0" Name="dataListView" VerticalAlignment="Top" Width="899"> <ListView.View> <GridView> <GridViewColumn Wi

首先:

        <ListView Height="259" HorizontalAlignment="Left" Margin="7,6,0,0" Name="dataListView" VerticalAlignment="Top" Width="899">
            <ListView.View>
                <GridView>
                    <GridViewColumn Width="240" Header="Test" />
                    <GridViewColumn Width="50" Header="Result" />
                    <GridViewColumn Header="Column 3" />
                </GridView>
            </ListView.View>
        </ListView>
在TestRunner.cs中,我创建了可观察的ArrayList集合,如下所示:

ObservableCollection<ArrayList> _testResultCollection = new ObservableCollection<ArrayList>();
将ArrayList添加到集合中。(是的,我知道,是一组ArrayList)

但是,在每列中显示的是(Collection),(Collection),(Collection)

我明白为什么了。但是,我不完全确定最整洁的方式是什么。通常在每个GridViewColumn中,您都会给出一个绑定,如:

DisplayMemberBinding=“{Binding TestResult}”

但是ArrayList没有命名组件,只有索引(0-2)


有没有办法将每一列绑定到单独的索引?或者我已经错过了一些简单的内容?

在绑定路径中指定一个索引:

       <GridViewColumn Width="240" Header="Test" DisplayMemberBinding="{Binding Path=[0]}"/>
       <GridViewColumn Width="50" Header="Result" DisplayMemberBinding="{Binding Path=[1]}"/>
       <GridViewColumn Header="Column 3" DisplayMemberBinding="{Binding Path=[2]}"/>


ArrayList
是.NET Framework中最无用的列表。请使用数组或
list
。你的理智会感谢你的。这主要是因为我在使用其他人的遗留代码结构。我正在考虑重新构造;)谢谢。不过,在发表评论之后,我花了一个小时重新编写了所有这些代码。好多了:)唉,就是这么简单。完美的
        public ObservableCollection<ArrayList> TestResultCollection
        { get { return _testResultCollection; } }
_testResultCollection.Add(SummaryVerificationTestCase1(dbs, dbd));
       <GridViewColumn Width="240" Header="Test" DisplayMemberBinding="{Binding Path=[0]}"/>
       <GridViewColumn Width="50" Header="Result" DisplayMemberBinding="{Binding Path=[1]}"/>
       <GridViewColumn Header="Column 3" DisplayMemberBinding="{Binding Path=[2]}"/>