当我尝试将ListBox项目读取到XML文件时,读取名称,但使用System.Windows.Controls始终添加列表框项目。我怎么能得到这个名字?
private void Window_Closed(object sender, EventArgs e)
{
List<string> dosyaAdlari = new List<string>();
for (int i = 0; i < listbox1.Items.Count; i++)
{
dosyaAdlari.Add(listbox1.Items[i].ToString());
}
using (System.IO.StreamWriter yazici = new System.IO.StreamWriter(dosyaYolu))
{
XmlSerializer serilestirici = new XmlSerializer(typeof(List<string>));
serilestirici.Serialize(yazici, dosyaAdlari);
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
List<string> dosyaİsimleri = new List<string>();
using (StreamReader yazici = new StreamReader(dosyaYolu))
{
XmlSerializer deSerilestirici = new XmlSerializer(typeof(List<string>));
dosyaİsimleri = (List<string>)deSerilestirici.Deserialize(yazici);
}
for (int i = 0; i < dosyaİsimleri.Count; i++)
{
listbox1.Items.Add(dosyaİsimleri[i]);
}
}
catch
{
}
}
}
答案 0 :(得分:0)
ListBox.Items
是ItemCollection
类型,因此当您使用ListBox.Items[0]
时,您会获得Item
,而ToString()
方法会为您提供类型的全名。您需要的是ListBox.ItemsSource[0]
,它会为您提供该项的价值,它代表绑定到特定string
的{{1}}或int
等对象。