まず:
<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 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) だけです。
各列を個々のインデックスにバインドする方法はありますか? または、単純なものをすでに見逃していますか?