这是我的 lls:
<phone:LongListSelector Name="lls" ItemsSource="{Binding Items}">
<phone:LongListSelector.ListHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" Foreground="Red" Margin="0,0,0,10"/>
</DataTemplate>
</phone:LongListSelector.ListHeaderTemplate>
<phone:LongListSelector.ListFooterTemplate>
<DataTemplate>
<TextBlock Text="this is a footer"/>
</DataTemplate>
</phone:LongListSelector.ListFooterTemplate>
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
...
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
和 View 模型:
public class BookViewModel : INotifyPropertyChanged
{
private string title;
public string Title
{
get
{
return title;
}
set
{
if (value != title)
{
title = value;
NotifyPropertyChanged("Title");
}
}
}
public ObservableCollection<AuthorViewModel> Items { get; set; }
}
在 navigatedto 中,我获取并分配了页面的 DataContext:
DataContext = book;
但问题是,在 LongListSelector 中没有显示任何标题。在分配 DataContext 之后,我检查了一下,Title 有一个值,但什么也没有出现(项目工作正常并且出现了项目列表)
为什么标题是空的?谢谢。
最佳答案
使用 ListHeader
而不是 ListHeaderTemplate
进行绑定(bind):
<phone:LongListSelector.ListHeader>
<TextBlock Text="{Binding Title}" Foreground="Red" Margin="0,0,0,10"/>
</phone:LongListSelector.ListHeader>
关于c# - 如何显示 LongListSelector 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214417/