自定义PositionChanged事件

时间:2011-12-06 18:15:26

标签: c# wpf vb.net events

我需要一个接收控件位置/位置的事件,例如一个Image-control,我随动画移动。

所以我找到了this post中需要的一些代码,但我无法弄清楚代码的放置位置。

我应该把它放在某些事件中,例如Windows加载事件还是什么?我错过了什么?

C#:

var topDescriptor = DependencyPropertyDescriptor.FromProperty(Canvas.TopProperty, typeof(Rectangle)); 
var leftDescriptor = DependencyPropertyDescriptor.FromProperty(Canvas.LeftProperty, typeof(Rectangle)); 

topDescriptor.AddValueChanged(rectangle, rectangle_PositionChanged); 
leftDescriptor.AddValueChanged(rectangle, rectangle_PositionChanged);


//I know where this part goes
    private void rectangle_PositionChanged(object sender, EventArgs e) 
    {     
    ... 
    }

VB.NET:

    Dim topDescriptor = DependencyPropertyDescriptor.FromProperty(Canvas.TopProperty, GetType(Rectangle))
    Dim leftDescriptor = DependencyPropertyDescriptor.FromProperty(Canvas.LeftProperty, GetType(Rectangle))

    topDescriptor.AddValueChanged(rectangle, rectangle_PositionChanged)
    leftDescriptor.AddValueChanged(rectangle, rectangle_PositionChanged)

//I know where this part goes
    Private Sub rectangle_PositionChanged(sender As Object, e As EventArgs)
        ...
    End Sub

谢谢,VenoMDee。

1 个答案:

答案 0 :(得分:0)

是的,我认为此代码应该放在窗口加载事件中,以便在显示表单之前连接事件处理程序。