Silverlight 绑定到容器不起作用,但绑定到对象起作用
我有以下Xaml(Silverlight,但这不重要):Silverlight 绑定到容器不起作用,但绑定到对象起作用,silverlight,data-binding,xaml,binding,Silverlight,Data Binding,Xaml,Binding,我有以下Xaml(Silverlight,但这不重要): 。。。 当我填充列表框时,会填充第二个文本块,但不会填充第一个文本块。当我从列表框中选择任何项目时,将填充第一个文本块,但第二个文本块不变 我假设我遗漏了一些信息,告诉StackPanel的DataContext它需要在我更改列表框中的SelectedItem时刷新,但是我不知道我需要做什么 理想情况下,我希望不必为每个文本块绑定整个路径(将有一堆文本块)。Gaah。。。我找到了。一些傻瓜(你读到了..me)认为在我填充列表框时覆盖st
。。。
当我填充列表框时,会填充第二个文本块,但不会填充第一个文本块。当我从列表框中选择任何项目时,将填充第一个文本块,但第二个文本块不变
我假设我遗漏了一些信息,告诉StackPanel的DataContext它需要在我更改列表框中的SelectedItem时刷新,但是我不知道我需要做什么
理想情况下,我希望不必为每个文本块绑定整个路径(将有一堆文本块)。Gaah。。。我找到了。一些傻瓜(你读到了..me)认为在我填充列表框时覆盖stackpanel的datacontext是明智的。很抱歉有人在做这件事。嗨,罗布,我觉得它看起来不错。我自己创建了一个小例子,它成功了(如果你愿意,我会发布它)。你能提供更多的信息吗。列表框的项目来源是什么。。。也许这有助于解决您的问题。我正在将代码隐藏中的列表框绑定到列表。。。obj有一个名为Attributes的字典属性。当我像在顶部文本块中那样绑定东西时,它可以工作,但我想绑定第二个文本块之类的东西。底部的文本块被绑定,但仅当我填充列表框时,而不是当所选项目更改时。顶部文本块仅在列表框的SelectedItem更改时填充,而不是在填充时填充。。。
<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>