【发布时间】:2014-03-28 23:33:19
【问题描述】:
我要在 ListBox 中写出一个文本文件,但我得到的只是一个列表“BabyName”。我的代码如下所示:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public void FirstDecadeTopNames_Loaded(object sender, RoutedEventArgs e)
{
FileStream fs = new FileStream(@"D:\Dokumenter\Skole\6. semester\GUI\Exercises\Exercise4\WpfApplication1\04-babynames.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.Default);
List<BabyName> babyNames = new List<BabyName>();
while (!sr.EndOfStream)
{
BabyName name = new BabyName(sr.ReadLine());
babyNames.Add(name);
FirstDecadeTopNames.Items.Add(name);
}
}
}
我假设我没有将 StreamReader 放入我的列表中,但我看不出我做错了什么。
更新:
这是 ListBox 的 XAML:
<ListBox Name="FirstDecadeTopNames"
Margin="10"
Loaded="FirstDecadeTopNames_Loaded" >
</ListBox>
【问题讨论】:
-
你能展示你的 XAML 吗?您是否正确绑定了属性?因为
BabyName是一个类而不是单个值,所以它不会显示。这是我的answer,它展示了如何实现这一目标。 -
嗯...您的列表框的名称是什么?没有将列表框项目添加到列表框的代码,您只需创建 BabyName 对象的列表。
-
@Robert:这条线做到了:
FirstDecadeTopNames.Items.Add(name);. -
@Abbas 哦,是的,当然,这是我的 ListBox 的 XAML:
<ListBox Name="FirstDecadeTopNames" Margin="10" Loaded="FirstDecadeTopNames_Loaded" ></ListBox>