none
为什么Behavior<T>没有SetBinding方法却可以在xaml中使用{Binding}? RRS feed

  • 问题

  • 我在写一个自定义控件时,发现了一个奇怪的问题。我定义了一个CutomBehavior:Behavior<T>类型,用来处理控件上的一些表现行为。根据继承结构来看,Behavior<T>是继承于System.Windows.DependencyObject,该层级与其自身都未提供SetBinding()方法。SetBinding()方法是由更高的FrameworkElement层级提供的。那么奇怪的是,我在xmal中使用如下绑定,却能够正确运行,这是为什么呢?

    <i:Interaction.Behaviors>
       <bh:CustomBehavior VerticalOffset="{Binding VerticalOffset,ElementName=PART_DataGrid}"/>
    </i:Interaction.Behaviors>

    2014年7月28日 3:05

答案