我使用一個ListBox控件,像這樣:Silverlight的ListBox控件不與一個ItemTemplate重新綁定正確
<ListBox Name="lbItemsList" ItemsSource="{Binding}" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ID}" Padding="5,0,0,0" />
<TextBlock Text=" - " Padding="5,0,0,0" />
<TextBlock Text="{Binding Description}" Padding="5,0,0,0" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
然後,在我的代碼動態集合綁定到列表框,如下所示:
lbItemssList.ItemsSource = _itemsList.Values;
但有時我需要重新綁定到列表框的項目的不同或修改列表。當我這樣做,ListBox中不與新的列表更新和似乎綁定工作不正常,除非我這樣做:
lbItemssList.ItemsSource = null;
lbItemssList.ItemsSource = _itemsList.Values;
我已經做了同樣的事情,與其他的ListBox控件並沒有這個問題。我在這裏錯過了什麼?
xaml中存在一個綁定(與當前的DataContext相關),但它在代碼隱藏中被覆蓋:) – 2010-11-08 02:06:06
Aaahh - 它只是查看它是否是不同的實例,而不是集合是否有任何不同。我懂了。這回答了,謝謝! – Zannjaminderson 2010-11-08 16:40:11