我遇到了一个Binding
的问题。 Rectangle.Fill
依赖属性绑定到了一个带有转换器的 ObservableCollection
。虽然 ObservableCollection
实现了 INotifyCollectionChanged
,但是绑定没有被更新。不过,我成功地通过将我的委托附加到集合的更改通知事件并手动刷新绑定来解决了这个问题:
void ColorsCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
BindingExpression b = colorRectangle.GetBindingExpression(Rectangle.FillProperty);
if (b != null)
b.UpdateTarget();
}
最近,我将Binding
更改为MultiBinding
,上面的解决方案就不再起作用了(b
是null
)。有没有一种方法可以强制MultiBinding
更新目标属性?
最好的问候-- Spook。