我试图找出这些方法之间的一些差异.是否存在使用行为并且无法使用附加属性执行相同功能的情况?
Ree*_*sey 39
在附加属性的基础上,行为基本上只是一个更好的抽象.
通过使用Behavior<T>,您可以AssociatedObject直接访问,以及在运行时轻松附加和分离行为的功能.
您可以使用附加属性执行此操作,但这需要添加大量额外的管道.
我倾向于使用Behaviors来添加可以进行可见更改的功能.而我使用附加属性将其他信息添加到随后由其他对象使用的对象.
例如,Grid.Row是一个很好的附加属性,因为它是Grid使用的而不是目标.另一方面,自动更正会产生良好的行为,因为这将对对象进行可见的更改.