Как отделить поведение от UIElement в коде позади для Silverlight? - PullRequest
4 голосов
/ 25 февраля 2010

В Silverlight 3.0 я добавил пользовательское поведение для некоторых UIElement в Code Behind.

Я хотел удалить Поведение позже во время выполнения.

Что такое синтаксис C # для отсоединения уже добавленного поведения от UIElement?

1 Ответ

7 голосов
/ 25 февраля 2010

Я предполагаю, что вы говорите о поведении, происходящем из класса Behavior<T> в Blend SDK ...

У вас все еще есть ссылка на поведение, когда вы его прикрепили?

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

EDIT

Если у вас больше нет ссылки на экземпляр поведения, когда вы хотите отсоединить его, вы можете сделать что-то подобное, чтобы отсоединить все поведения в DependencyObject:

foreach (var behavior in Interaction.GetBehaviors(myElement))
{
    behavior.Detach();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...