我有一个名为Person
的课程,只有姓名,年龄和性别属性。我也有5个人List<Person>
(现在硬编码,但不相关)。我想通过XAML将它绑定到ListBox,因此它为每个属性都有三个TextBlock:
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=name}" />
<TextBlock Text="{Binding Path=gender}" />
<TextBlock Text="{Binding Path=age}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
问题在于我不知道将什么用作数据上下文或项目源或其他什么。 有什么想法吗?
答案 0 :(得分:7)
<ListBox ItemsSource="{Binding People}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=name}" />
<TextBlock Text="{Binding Path=gender}" />
<TextBlock Text="{Binding Path=age}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
并在您的代码后面(ViewModel):
public ObservableCollection<Person> people = new ObservableCollection<Person>();
public ObservableCollection<Person> People { get { return people; } }
您可以在绑定中省略Path=
,因为它是默认属性