次のコードで問題が発生しました。
FolderBrowserDialog ofd = new FolderBrowserDialog();
ofd.Description = "Wählen Sie bitte den Ordner mit den Videodateien die Sie verschieben und umbenennen wollen...";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
string path = ofd.SelectedPath;
foreach (var file in Directory.GetFiles(path)) {
files.Add(new FileStatus(file, new FileInfo(file).Length));
}
}
FileStatusオブジェクトのコードは次のとおりです。
public FileStatus(string filename, long filesize, long currentsize = 0) {
this.currentsize = currentsize;
this.filename = filename;
this.filesize = filesize;
}
public string filename { get; set; }
public long filesize { get; set; }
public long currentsize { get; set; }
public double percent {
get {
return (currentsize / filesize) * 100;
}
}
ListViewのXAMLは次のとおりです。
<ListView Name="lb_data" Grid.Row="2" DataContext="{Binding}" ItemTemplate="{StaticResource fileStatusTemp}">
</ListView>
fileStatusTempのXAML:
<DataTemplate x:Key="fileStatusTemp">
<StackPanel>
<TextBlock Text="{Binding Path=filename}" ></TextBlock>
</StackPanel>
</DataTemplate>
ItemSource-propertyは、ウィンドウのコンストラクターで設定されます。
lb_data.ItemSource = files;
アドバイスをくれたKDiTragliaに感謝します:)
問題は、このコードを実行するとファイル名が表示されないことです。何も表示されません。別のプロジェクトでは、同様のコードが機能します...
あなたが私を助けてくれることを願っています:)
Greetings Knerd