c# – 在.Net 4.0中.Net 4.5中绑定的延迟属性

前端之家收集整理的这篇文章主要介绍了c# – 在.Net 4.0中.Net 4.5中绑定的延迟属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在.Net 4.0(描述为 here)中实现.Net 4.0中绑定的Delay属性

我知道我不能继承自BindingBase,因为ProvideValue被密封.

我可以实现MarkupExtension,但这意味着我现在必须从BindingExtension重写所有的属性是否有其他方式?

解决方法

我将创建一个AttachedProperty,指定延迟的时间量.当绑定值更改时,AttachedProperty将启动(或重置)定时器,并在达到指定的时间量时手动更新绑定的源.

您可以使用以下更新源绑定:

BindingOperations.GetBindingExpressionBase(
    dependencyObject,dependencyProperty).UpdateSource();

编辑

我正在修复一些旧代码中的错误,并注意到它使用附加行为实现了一个延迟的属性更改通知.我想到了这个问题,所以按照我在代码评论链接,发现自己在过去的一段时间里已经发布了一个关于delaying a binding左右的问题.最重要的答案是我现在实现的一个问题,在X毫秒之后更新绑定源的属性.

猜你在找的C#相关文章