我在ListBox
Itemtemplate
绑定了一个问题,其中Expander
包含HeaderTemplate
和ContentTemplate
。
<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绑定不起作用,我想将它们绑定到对象Feed中的属性:
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
,但它对我没有帮助。
答案 0 :(得分:1)
Expander的内容充当ContentTemplate的DataContext和HeaderTemplate的Header。
设置内容=&#34; {Binding}&#34;和标题=&#34; {Binding}&#34;代替。这将两个模板的DataContext设置为ListBoxItem的DataContext(即Feed)。