依然是依赖性属性相关
比如界面上有 AB两个图片,大小一样,我们需要在改变图片A大小的时候,同时也改变B的大小,让他们的大小总保持一致
解决方案:我们需要在图片A的SizaChanged事件中添加处理图片B的方法。把图片A的size赋给图片B,这么一个简单的功能需要这么一段代码来写是不是有点繁琐,若此类需求更多,则你需要处理的事件将更多。
然后依赖属性,可以用下面三句话实现此功能:
imageB.DataContext = imageA;
imageB.setBinding(Image.WidthProperty,"Width");
imageB.setBinding(Image.HeightProperty,"Height");
在类上实现属性时,只要该类派生自DependencyObject,便可以选择使用
DependencyProperty标识符来标识属性,从而将其设置为依赖属性。
public static DependencyProperty TextProperty = DependencyProperty.Register("Text", //属性名称 typeof(string), //属性类型
typeof(TestDependencyPropertyWindow), //该属性所有者,即将该属性注册到那个类上
new PropertyMetadata("")); //属性默认值
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}