c# WPF数据模板绑定
本文关键字:绑定 数据 WPF | 更新日期: 2023-09-27 18:18:00
我将MyListBox
绑定到MyObject实例列表。MyObject包含一个名为TextField的字符串字段。我想将listBox中的每个项目绑定到MyObject.TextField
。我的代码如下,但它不起作用。
<ListBox Name="MyListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=TextField}"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
正确的方法是什么?
已解决:我的对象的类的TextField不是一个属性
确保设置ListBox的ItemsSource:
<ListBox Name="MyListBox" ItemsSource="{Binding theList}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding TextField}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
编辑:我在VS 2010中尝试了解决方案…下面是代码
首先创建自己的类,例如person class
class Person
{
public Person(String name)
{
this.name = name;
}
String name;
public String Name
{
get { return name; }
set { name = value; }
}
}
然后在xaml中创建如下的列表框
<ListBox Height="222" HorizontalAlignment="Left" Margin="105,28,0,0" Name="listBox1" VerticalAlignment="Top" Width="120" ItemsSource="{Binding}" >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
注意在xaml中Path=Name是你想要在列表框中显示的属性
在后面的代码文件中,输入以下代码 List<Person> persons = new List<Person>();
persons.Add(new Person("person 1"));
persons.Add(new Person("person 2"));