我在SO上发现了一些关于这个问题的项目,但他们并不满足我。他们谈论了INotifyProperyChanged,但这对我的情况没有帮助。
我有Combobox
。
对于ItemsSource
,我使用MultiBinding
和Converter
来创建ICollectionView
。 ICollectionView
绑定到ItemsSource
。
在GotFocus
- 事件中,需要刷新此绑定,因此转换器会再次被触发。
我该怎么做?
答案 0 :(得分:8)
好的,一位同事帮助了我。
这是解决方案:
private void theComboBox_OnGotFocus(object sender, RoutedEventArgs e)
{
ComboBox theComboBox = sender as ComboBox;
if (theComboBox != null)
{
MultiBindingExpression binding = BindingOperations.GetMultiBindingExpression(theComboBox, ComboBox.ItemsSourceProperty);
if (binding != null)
{
binding.UpdateTarget();
}
}
}
答案 1 :(得分:0)
如果您可以在后面的代码中访问ICollectionView,您可能想尝试Refresh方法......
希望这会有所帮助..