WPF / Silverlight:如何在尚未拥有的控件上创建BehaviorCollection?

时间:2011-02-08 19:51:45

标签: wpf silverlight expression-blend

如何在尚未拥有的控件上创建BehaviorCollection?

1 个答案:

答案 0 :(得分:5)

这方面的API并不那么明显,在代码中使用以下内容:

var behaviorCollection = System.Windows.Interactivity.Interaction
                                          .GetBehaviors(controlToAddBehaviorTo);
behaviorCollection.Add(new MyBehavior());

显然controlToAddBehaviorTo是“尚未拥有的控件”。

对于xaml中的相同内容:

<TextBox x:Name="controlToAddBehaviorTo">
    <i:Interaction.Behaviors>
        <local:MyBehavior/>
    </i:Interaction.Behaviors>
</TextBox>

导入交互式名称空间xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"