绑定到容器不工作,但绑定到对象工作

时间:2010-11-15 16:29:03

标签: silverlight data-binding xaml binding

我有以下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的整个路径(会有一堆它们)。

1 个答案:

答案 0 :(得分:0)

高啊......我找到了。一些傻瓜(你读...我)决定在填充ListBox时覆盖stackpanel的datacontext是明智的。对于正在处理这个问题的人抱歉。