2014-03-06 73 views
2

這個頭是我的IIs:如何顯示LongListSelector

<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> 

和視圖模型:在navigatedto

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; } 
} 

我獲取和分配頁面的DataContext:

DataContext = book; 

但問題是,在LongListSelector中沒有任何內容顯示爲標題。恰好在分配DataContext後,我檢查了標題並且沒有顯示任何內容(項目工作正常,項目列表出現)

爲什麼標頭爲空?謝謝。

回答

1

使用ListHeader,而不是ListHeaderTemplate綁定:

<phone:LongListSelector.ListHeader> 
    <TextBlock Text="{Binding Title}" Foreground="Red" Margin="0,0,0,10"/> 
</phone:LongListSelector.ListHeader> 
0

設置的ElementName爲LongListSelector和路徑爲您ListHeader的DataContext的。

<phone:LongListSelector.ListHeaderTemplate> 
    <DataTemplate> 
    <TextBlock Text="{ElementName=lls, 
       Path=DataContext.Title}" Foreground="Red" Margin="0,0,0,10"/> 
    </DataTemplate> 
</phone:LongListSelector.ListHeaderTemplate> 
相關問題