我有两件事:
Title = new ObservableCollection<string>();
Author = new ObservableCollection<string>();
我想将它们放入ListBox
第一个标题1 并在作者1 下面,然后标题2 ... 。如何使用DataBinding
,ListBox DataTemplate
?
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Label Foreground="Blue" Content="{Binding Title}"></Label>
<Label Foreground="Red" Content="{Binding Author}"></Label>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
答案 0 :(得分:1)
是的,我会使用DataTemplate
。
我不会维护标题和作者的单独列表,而是创建一个如下对象:
public class Book
{
public string Title {get; set;}
public string Author {get; set;}
}
然后我会创建一个书籍集合
Books = new ObservableCollection<Book>();
Books.Add(new Book { Title="Dragons", Author="Bob"} );
最后,在Xaml中,我会将ItemsSource
的{{1}}设置为Books并绑定到Title和Author属性,如下所示:
ListBox
答案 1 :(得分:0)
如果这不是问题,您可以将这些标题和作者保留在同一个类中。让我们说Book类,其中包含字符串Title和string author;
现在你有一个ObservableCollection<Book> MyBooks
<ListBox ItemsSource="{Binding MyBooks}">
<ListBox.ItemTemplate>
<DataTemplate>
<Label Foreground="Blue" Content="{Binding Title}"></Label>
<Label Foreground="Red" Content="{Binding Author}"></Label>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>