在不使用XAML的情况下绑定嵌套属性

本文关键字:情况下 绑定 嵌套 属性 XAML | 更新日期: 2023-09-27 18:08:23

如何对嵌套的目标属性进行绑定,如WPF中的Shape.Stroke.Color而不使用XAML ?

对于一个简单的属性,我使用的代码看起来像这样:
var binding = new Binding("mySourceProperty");
binding.Source = mySourceObject;
myTargetObject.SetBinding(myTargetProperty, binding);

其中myTargetProperty可以是,例如Shape.StrokeProperty。但是现在,我如何在ShapeStrokeColorProperty上做同样的事情呢?

在不使用XAML的情况下绑定嵌套属性

如果Shape的Stroke属性包含SolidColorBrush,则可以使用静态BindingOperations.SetBinding方法:

var shape = new Path(); // or whatever
var binding = new Binding { Source = Colors.Red }; // or whatever
BindingOperations.SetBinding(shape.Stroke, SolidColorBrush.ColorProperty, binding);