2011-07-07 49 views
1

例如,我有這樣的:如何訪問附加到UI元素的行爲?

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

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

現在,當我從designArea的孩子我怎麼能訪問連接到myBorder行爲的CurrentProperties myBorder?

回答

2

您正在以非標準方式附加您的行爲,這意味着無法在稍後獲取附加行爲。但是,如果你以標準方式來做,你可以得到這個信息。這裏是一個如何管理行爲的例子。

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(); 
+0

我只是一個begginer,所以你的答案幫了很大忙。非常感謝。 – Dmitriyz