views:

138

answers:

1

In Silverlight 3.0 I have added a custom behavior to some UIElement in Code Behind.

I wanted to remove the Behavior later in runtime.

What is the C# syntax to Detach an already added Behavior from an UIElement ?

A: 

I am guessing you are talking about a behavior deriving from the Behavior<T> class in the Blend SDK...

Do you still have a reference to the behavior from when you attached it?

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

EDIT

If you no longer have a reference to the instance of the behavior when you want to detach it you can do something like this to detach all behaviors on a DependencyObject:

foreach (var behavior in Interaction.GetBehaviors(myElement))
{
    behavior.Detach();
}
Dan Auclair
Bingo !!! That was Very Quick and Exactly What I wanted. Thanks a Million !!!
kanchirk