2015-01-16 68 views
0

我有一个从ListBoxItemtemplate绑定的问题,它包含一个Expander以及它自己的HeaderTemplateContentTemplate来自列表框的WPF绑定ItemTemplate

<ListBox ItemsSource="{Binding Feeds}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Expander Content="{Binding Text}" 
          Header="{Binding Title}"> 

        <Expander.HeaderTemplate> 
         <DataTemplate> 
          <DockPanel > 
           <TextBlock Text="{Binding PublishDate}" /> 
           <TextBlock Text="{Binding}" /> 
          </DockPanel> 
         </DataTemplate> 
        </Expander.HeaderTemplate> 

        <Expander.ContentTemplate> 
         <DataTemplate> 
          <StackPanel Orientation="Vertical"> 
           <Image Source="{Binding ImageURL}" /> 
           <TextBlock Text="{Binding}" /> 
          </StackPanel> 
         </DataTemplate> 
        </Expander.ContentTemplate> 
       </Expander> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

的PublishDate和IMAGEURL绑定不工作,我想将它们绑定到属性的对象饲料:

Public Class Feed 
    Public Property Title As String 
    Public Property PublishDate As DateTime 
    Public Property Text As String 
    Public Property ImageURL As String 
End Class 

我在结合试图FindAncestor找到ListBoxItem但它没有帮助我。

回答

1

扩展器的内容充当ContentTemplate的DataContext和HeaderTemplate的Header。代替

Set Content =“{Binding}”和Header =“{Binding}”。这将两个模板的DataContext设置为ListBoxItem的DataContext(即Feed)。