以下是XAML文件的相关部分:
这段代码可以正常工作:
xmlns:local="clr-namespace:BindingTest"
<ListBox x:Name="myList"
ItemsSource="{Binding Source={x:Static local:MyClass.Dic},
Path=Keys,
Mode=OneWay,
UpdateSourceTrigger=Explicit}">
</ListBox>
MyClass是一个公共静态类,Dic是一个静态公共属性,即一个Dictionary。
在某个时刻,我向Dictionary中添加了项,并希望ListBox反映出这些更改。
这是我考虑使用的代码,但它无法工作:
BindingExpression binding;
binding = myList.GetBindingExpression(ListBox.ItemsSourceProperty);
binding.UpdateTarget();
这段代码可以正常工作:
myList.ItemsSource = null;
myList.ItemsSource = MyClass.dic.Keys;
我更愿意使用UpdateTarget,但我无法让它正常工作。
我做错了什么?