0
我需要一個接收控件位置/位置的事件,例如一個圖像控件,我使用動畫進行移動。自定義PositionChanged事件
所以我找到了我需要的this post的一些代碼,但是我不知道在哪裏放置代碼。
我是否應該在某些事件中窗口加載事件還是什麼?我錯過了什麼?
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。
只有一個問題...當我嘗試運行該應用程序時,它說「參數未指定爲Private Sub rectangle_PositionChanged(sender As Object,e As EventArgs)」的參數'e'「。我做錯了什麼? –
問題是Canvas.Top和Canvas.Left的類型是System.Double,而不是Rectangle,所以我不確定原代碼是如何工作的。 –