Как получить доступ к поведению, которое было прикреплено к элементу пользовательского интерфейса? - PullRequest
1 голос
/ 07 июля 2011

Например, у меня есть это:

Border myBorder = new Border();
...
designArea.Children.Add(myBorder);

ResizeAndMoveBehavior b = new ResizeAndMoveBehavior();
b.CurrentProperties = thisButtonProperties;
b.Attach(myBorder);

Теперь, когда я получаю myBorder от потомков designArea, как я могу получить доступ к CurrentProperties поведения, присоединенного к myBorder?

1 Ответ

2 голосов
/ 07 июля 2011

Вы прикрепляете свое поведение нестандартным способом, что означает, что нет способа вернуть прикрепленное поведение позже Однако, если вы делаете это стандартным способом, вы можете получить эту информацию. Вот пример того, как нужно управлять поведением.

using System.Windows.Interactivity;

// Add a behavior.
Interaction.GetBehaviors(myBorder).Add(b);

// Get all behaviors of an object.
BehaviorCollection behaviors = Interaction.GetBehaviors(myBorder);

// Get a specific type of behavior.
ResizeAndMoveBehavior myBehavior = (ResizeAndMoveBehavior)behaviors
    .Where(b => b is ResizeAndMoveBehavior).Single();
...