我有一个可继承的附加属性:
public static readonly DependencyProperty ResourcePackageProperty =
DependencyProperty.RegisterAttached("ResourcePackage", typeof(IResourcePackage), typeof(ResourceUIElement),
new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits));
在容器控件上,我设置了这个附加属性 => 后代控件继承了这个,到目前为止还不错。
现在我尝试定义这样的绑定:
var binding = new Binding();
binding.Source = proxy;
binding.Mode = BindingMode.OneWayToSource;
binding.Path = new PropertyPath("Value");
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
BindingOperations.SetBinding(childControl, ResourceUIElement.ResourcePackageProperty, binding);
这应该在childControl的 ResourcePackage 属性更改时更新代理对象的Value属性。
这在我直接在子控件上设置附加属性时有效,但在容器控件上更改附加属性时它不起作用(因此,被继承到childControl)。
使用 WPF 的依赖属性系统是否有可能?