依赖属性:一种可以自己没有值,通过使用Binding从数据源获得值的属性。拥有依赖属性的对象叫做依赖对象(Denpendency Object)。依赖属性可以节省实例对内存的开销。
为依赖属性添加了CLR属性包装后,其就具有了扮演数据源和数据目标的双重角色的能力。另外,尽管依赖属性所对应的依赖对象没有实现INotifyPropertyChanged接口,但是当属性发生改变时与之关联的Binding对象依然可以得到通知,依赖属性天生就是合格的数据源。
Background:“{Binding PreviousColor } ” //这里的PreviousColor是个依赖属性
private void MouseEnter(object sender, MouseButtonEventArgs e)
{
PreviousColor = SolidColorBrush((Color)ColorConverter.ConvertFromString("#ABC2FA"));
}
上文提到的属性发生改变,是在程序运行时改变的,例如:当鼠标悬停在按钮上,这时会触发按钮的悬停事件MouseEnter,
从而改变了PreviousColor的值,便会通知所Binding的属性Background,此时Background属性就会发生改变。