WPF拦截绑定更新

时间:2014-07-30 16:29:21

标签: c# wpf data-binding

我想知道是否有拦截所有Bindings的机制,以便我可以抑制特定条件下的更新?

伪代码:

public class Utils
{
    public void RegisterInterceptionOfBinding()
    {
        WpfBindingMechanism.OnSourceUpdating += SourceUpdating;
        WpfBindingMechanism.OnTargetUpdating += TargetUpdating;
    }

    private void SourceUpdating(object sender, SourceUpdatingEventArgs args)
    {
        if (DoSomeMagicConditionChecking)
        {
            args.Cancel = true;
        }
    }

    private void TargetUpdating(object sender, SourceUpdatingEventArgs args)
    {
        if (DoSomeMagicConditionChecking)
        {
            args.Cancel = true;
        }
    }
}

我正在寻找一种适用于整个WPF应用程序中 ALL 绑定的机制。

1 个答案:

答案 0 :(得分:1)

您可能希望使用TypeDescriptionProvider类。

以下是MSDN上的论坛帖子,可能会回答您的问题:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/d8046807-ac1a-4d1f-81f2-6a2f93dab78a/intercept-binding-mechanism