List<> を Gridview(WPF) の itemssource として設定すると、アプリケーションの起動時に列が作成されます。
List を itemssource として使用したサンプル コードを参照してください。これにより、リストにオブジェクトを追加せずにプログラムを実行すると、「ファイル」、「期間」、および「ステータス」の列が正しく生成されます。
public MainWindow()
{
InitializeComponent();
DataGrid.ItemsSource = LoadFiles();
}
public class Files
{
public string File { get; set; }
public string Duration { get; set; }
public string Status { get; set; }
}
List<Files> files = new List<Files>();
private List<Files> LoadFiles()
{
return files;
}
ここで、値とキーのペアを格納する必要があるため、代わりに GridView を Dictionary 型にバインドするようにコードを書き直しました。ただし、アプリケーションがロードされると、列は生成されません。列は、ディクショナリにコンテンツが入力された後にのみ生成されます。
public MainWindow()
{
InitializeComponent();
DataGrid.ItemsSource = LoadFile();
}
public class Files
{
public string File { get; set; }
public string Duration { get; set; }
public string Status { get; set; }
}
Dictionary<Files, string> files = new Dictionary<Files, string>();
private Dictionary<Files, string> LoadFiles()
{
return files;
}
Dictionary<> が空の場合でも列を作成したいと思います。何かアドバイス?