0

首先:

        <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>

是我的 XAML 文件中的定义。

然后当测试开始时,我运行:

dataListView.ItemsSource = tr.TestResultCollection;

在 TestRunner.cs 中,我创建了 ArrayLists 的 Observable 集合,如下所示:

ObservableCollection<ArrayList> _testResultCollection = new ObservableCollection<ArrayList>();

并公开这样称呼他们:

        public ObservableCollection<ArrayList> TestResultCollection
        { get { return _testResultCollection; } }

最后,当我添加到集合中时,我使用:

_testResultCollection.Add(SummaryVerificationTestCase1(dbs, dbd));

它将一个 ArrayList 添加到集合中。(是的,ArrayLists 的集合,我知道......)

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

我明白为什么了。但是,我不完全确定最整洁的方法是什么。通常在每个 GridViewColumn 中,您会提供如下绑定:

DisplayMemberBinding="{绑定测试结果}"

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

有没有办法将每列绑定到各个索引?还是我已经错过了一些简单的事情?

4

1 回答 1

1

在绑定路径中指定索引:

       <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]}"/>
于 2012-06-01T20:58:14.910 回答