2010-11-15 14 views
0

我有下面的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> 

當我填充列表框,第二個TextBlock的填充,但第一個TextBlock不是。當我從列表框中選擇任何項目時,將填充第一個TextBlock,但第二個不會更改。

我假設我失去了一些東西,告訴的StackPanel的DataContext的,它需要刷新任何時候我改變的SelectedItem在我的列表框,但我在什麼我需要做一個損失。

理想情況下,我想不必綁定到我的每個TextBlocks的整個路徑(將有一堆他們)。

+0

嗨,羅布,我認爲它看起來不錯。我自己創建了一個小例子,它起作用了(如果你願意,我會發布它)。你能提供更多的信息嗎?什麼是列表框的ItemsSource,...也許這有助於解決您的問題。 – TerenceJackson 2010-11-15 19:35:15

+0

我將代碼中的列表框綁定到列表 ... obj具有名爲屬性的字典屬性。當我像在頂級TextBlock中那樣綁定東西時,我有它的工作,但我想要綁定像第二個TextBlock的東西。底部TextBlock被綁定,但只有當我填充列表框,而不是當選定的項目更改。頂部的TextBlock只會被填充,然後ListBox的SelectedItem被更改,而不是當它被填充時... – Rob 2010-11-15 21:35:54

回答

0

Gaah ...我找到了。一些nitwit(你讀..我)決定,當我填充ListBox時重寫stackpanel的datacontext會很聰明。很抱歉,任何正在處理此事的人。

相關問題