我有以下Xaml(Silverlight,但它没关系):
<ListBox x:Name="Results"> ... </ListBox>
<StackPanel DataContext="{Binding ElementName=Results, Path='SelectedItem.Attributes'}">
<TextBlock Text="{Binding ElementName=Results, Path='SelectedItem.Attributes[ID]'}" />
<TextBlock Text="{Binding '[ID]'}" />
</StackPanel>
当我填充ListBox时,会填充第二个TextBlock,但第一个TextBlock不会填充。当我从列表框中选择任何项目时,将填充第一个TextBlock,但第二个不会更改。
我假设我错过了告诉StackPanel的DataContext它需要在我更改ListBox中的SelectedItem时刷新的东西,但我不知道我需要做什么。
理想情况下,我不想绑定每个TextBlocks的整个路径(会有一堆它们)。
答案 0 :(得分:0)
高啊......我找到了。一些傻瓜(你读...我)决定在填充ListBox时覆盖stackpanel的datacontext是明智的。对于正在处理这个问题的人抱歉。