C# BindingOperations.GetBinding返回带有x:key的null样式

C# BindingOperations.GetBinding返回带有x:key的null样式,c#,wpf-controls,C#,Wpf Controls,我正在跟踪对对象的更改,并希望通过工具提示显示更改值。这一切都有效,直到我设置控件样式并添加x:键,我需要各种TextBox样式 我通过 private static void OnIsActivePropertyChanged(DependencyObject d,DependencyPropertyChangedEventArgs e) { if (_defaultProperties.ContainsKey(d.GetType())) { var defau

我正在跟踪对对象的更改,并希望通过工具提示显示更改值。这一切都有效,直到我设置控件样式并添加x:键,我需要各种
TextBox
样式

我通过

private static void OnIsActivePropertyChanged(DependencyObject d,DependencyPropertyChangedEventArgs e)
{
    if (_defaultProperties.ContainsKey(d.GetType()))
    {
        var defaultProperty = _defaultProperties[d.GetType()];
        if ((bool)e.NewValue)
        {
            Binding binding;

            binding = BindingOperations.GetBinding(d,defaultProperty);

            if (binding != null)
            {
                var bindingPath = binding.Path.Path;
                BindingOperations.SetBinding(d,IsChangedProperty,
                    new Binding(bindingPath + "IsChanged"));
                CreateOriginalValueBinding(d,bindingPath + "OriginalValue");
            }
        }
        else
        {
            BindingOperations.ClearBinding(d,IsChangedProperty);
            BindingOperations.ClearBinding(d,OriginalValueProperty);
        }
    }
}
当我使用具有x:键的样式的控件时

binding = BindingOperations.GetBinding(d,defaultProperty);

returns null;
希望以上内容有意义,如有任何帮助,将不胜感激