我正在尝试创建用户在程序中打开的最近文件的ListView。我使用了一个名为GameFileData
的自定义对象,该对象存储3个变量,Path
(字符串),Name
(字符串)和LastEdited
(日期时间)。这些详细信息存储在List对象中。
这是ListView的XAML
<ListView x:Name="LvRecents" SelectionMode="Single" Margin="5,41,10,35">
<ListView.View>
<GridView>
<GridViewColumn x:Name="ColName" Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn x:Name="ColLastEdited" Header="Last Edited" DisplayMemberBinding="{Binding LastEdited}"/>
</GridView>
</ListView.View>
</ListView>
在后台代码中,我有一个在加载窗口时执行的方法:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
LvRecents.Items.Clear();
List<GameFileData> gfd = Saves.GetRecents();
LvRecents.ItemsSource = gfd;
}
当我运行列表中有两个项目的代码时,ListView会正确显示两个可选项目,但它们没有内容:
我也尝试过使用Path
变量而不是LastEdited
进行相同的操作,认为这可能与奇怪的数据结构有关,但是我得到了相同的结果
编辑:根据要求,GameFileData类:
public class GameFileData
{
public string Path;
public string Name;
public DateTime LastEdited;
public GameFileData(string path, string name, DateTime lastEdited)
{
Path = path;
Name = name;
LastEdited = lastEdited;
}
}
断点确定GetRecents()正确返回了列表