Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 绑定到容器不起作用,但绑定到对象起作用_Silverlight_Data Binding_Xaml_Binding - Fatal编程技术网

Silverlight 绑定到容器不起作用,但绑定到对象起作用

Silverlight 绑定到容器不起作用,但绑定到对象起作用,silverlight,data-binding,xaml,binding,Silverlight,Data Binding,Xaml,Binding,我有以下Xaml(Silverlight,但这不重要): 。。。 当我填充列表框时,会填充第二个文本块,但不会填充第一个文本块。当我从列表框中选择任何项目时,将填充第一个文本块,但第二个文本块不变 我假设我遗漏了一些信息,告诉StackPanel的DataContext它需要在我更改列表框中的SelectedItem时刷新,但是我不知道我需要做什么 理想情况下,我希望不必为每个文本块绑定整个路径(将有一堆文本块)。Gaah。。。我找到了。一些傻瓜(你读到了..me)认为在我填充列表框时覆盖st

我有以下Xaml(Silverlight,但这不重要):

。。。
当我填充列表框时,会填充第二个文本块,但不会填充第一个文本块。当我从列表框中选择任何项目时,将填充第一个文本块,但第二个文本块不变

我假设我遗漏了一些信息,告诉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>