首先:
<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中,我已经创建了ArrayList的Observable Collection:
ObservableCollection<ArrayList> _testResultCollection = new ObservableCollection<ArrayList>();
并公开提及它们:
public ObservableCollection<ArrayList> TestResultCollection
{ get { return _testResultCollection; } }
最后,当我添加到集合中时,我使用:
_testResultCollection.Add(SummaryVerificationTestCase1(dbs, dbd));
将ArrayList添加到集合中。 (是的,ArrayLists的集合,我知道......)
但是,每列中显示的内容是(收藏),(收藏,(收藏)。
我明白为什么。但是,我并不完全确定最好的方法是什么。通常在每个GridViewColumn中,您都会提供如下绑定:
DisplayMemberBinding =“{Binding TestResult}”
但是ArrayList没有命名组件,只有索引(0-2)。
有没有办法将每列绑定到各个索引?或者我已经错过了一些简单的东西?
答案 0 :(得分: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]}"/>