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 ?
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 ?
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();
}