WinForms と WPF のどちらを使用するか気にしない場合は、WPF を使用することをお勧めします。
のようなものが必要な場合はListView
、 を使用してみてくださいDataGrid
。ここで必要な基本概念は、DataTemplate
. 内でDataTemplate
、セルの内容を好きなようにスタイル変更できます。
これは私のコードの一部から抜粋した大まかな例ですが、それ自体をコンパイルすることはしていません。良いスタートが切れます。
<DataGrid ItemsSource="{Binding MyGridData}" AutoGenerateColumns="False" Name="my_datagrid">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Column1">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source={Binding GridCellImage}" />
<TextBlock Text="{Binding GridCellText}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
理解するためにデータバインディングを読んでくださいMyGridData
。基本的には、グリッドに情報を提供するコード ビハインドのコレクションになります。List<T>
またはのようなものである可能性がありますObservableCollection<T>
。GridCellImage
T は、とという 2 つのパブリック プロパティを持つクラスですGridCellText
。WPF を使用すると、コード ビハインドでデータを簡単に作成できます。また、データ バインドされているため、GUI が自動的に更新されます ( の場合ObservableCollection
)。GridCellImage
画像パスとGridCellText
そのセルに必要なテキストに 設定します。GridCellImage
実際に機能させるにはもっと指定する必要がありますが、この回答のポイントは、WPF でデータを好きなように表示するように再テンプレート化することがいかに簡単かを示すことです。
お役に立てれば!