如何从Silverlight代码背后的UIElement中分离行为?

时间:2010-02-25 03:02:24

标签: silverlight silverlight-3.0 uielement

在Silverlight 3.0中,我在Code Behind中为某些UIElement添加了自定义行为。

我想稍后在运行时删除行为。

UIElement分离已添加的行为的C#语法是什么?

1 个答案:

答案 0 :(得分:7)

我猜你在谈论从Blend SDK中的Behavior<T>类派生的行为......

您是否仍然可以参考附加时的行为?

MyCustomBehavior myBehavior = new MyCustomBehavior();
myBehavior.Attach(myElement);
...
myBehavior.Detach();

修改

如果在要分离时不再引用行为实例,可以执行以下操作来分离DependencyObject上的所有行为:

foreach (var behavior in Interaction.GetBehaviors(myElement))
{
    behavior.Detach();
}