【发布时间】:2010-05-27 07:13:11
【问题描述】:
我有一个简单的类,定义如下:
public class Person
{
int _id;
string _name;
public Person()
{ }
public int ID
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
}
存储在数据库中,并通过更多代码将其放入 ObservableCollection 对象中,以便稍后尝试在 WPF 中进行数据绑定:
public class People : ObservableCollection<Person>
{
public People() : base() { }
public void Add(List<Person> pListOfPeople)
{
foreach (Person p in pListOfPeople) this.Add(p);
}
}
在 XAML 中,我有一个 ListView,我想在“People”对象中的每个项目从数据库更新时填充一个 ListViewItem(由一个文本块组成)。我还希望该文本块绑定到 Person 对象的“名称”属性。
一开始我以为我可以这样做:
lstPeople.DataContext = objPeople;
其中 lstPeople 是我的 XAML 中的 ListView 控件,但这当然什么都不做。我在网上找到了很多例子,人们通过 XAML 创建一个对象,然后通过他们的 XAML 绑定到它;但不是我们绑定到实例化对象并相应地重新绘制。
有人可以指点一下吗:
A) 如何将 ListView 控件绑定到我实例化的“人物”集合对象?
B) 我如何将模板应用到我的 ListView 以针对集合中的对象对其进行格式化?
即使链接到一个体面的示例(请不要对 XAML 中声明的对象进行操作),我们也将不胜感激。
【问题讨论】:
标签: wpf data-binding collections