2014-05-10 2 views
-1

후 WPF 창 보고서 이전 왼쪽 된 속성 DragMove() 호출 한 후이 문제가있어서이 창은 이전 Left 속성을 마치 DragMove 전혀 변경하지 않은 것으로보고합니다. 나는이 쇼 윈도우의 새로운 왼쪽의 총수 버튼을 클릭DragMove

private void Window_MouseDown(object sender, MouseButtonEventArgs e) 
{ 
    if (e.LeftButton == MouseButtonState.Pressed) 
    { 
     DragMove(); 
    } 
} 

후 :

그래서 나는 DragMove를 (사용 창) 이동, 윈도우의 왼쪽은 현재 100 픽셀입니다 말할 수 있습니다 : 윈도우가 전혀했던 있지만 이동 didnt하는 것처럼

private void SomeButton_Click(object sender, RoutedEventArgs e) 
{ 
     MessageBox.Show(Left.ToString()); 
} 

그러나, 메시지 상자는 여전히 ... '100'이다

내가 무엇을 놓치고 있습니까?

+0

값은 당신이 어딘가에'Left'을 정의하고, 유사한 테스트 프로젝트 내에서 저를 위해 업데이트 할 것 같다

하면 내가 다음과 같이 완료되면 양식에서 애니메이션을 제거해야 작동하도록합니다 아니면, 다른 컨트롤 내에서'Left' 속성으로 호스트 된 버튼입니까? – Chris

+0

나는 왼쪽 속성을 움직이게하고 그 값에 갇혀있는 것 같아 문제를 발견했다. 끝난 후에 애니메이션을 다시 설정해야했다. – Banana

답변

-1

Left 속성에 애니메이션을 적용했는데 어떤 이유로 이 DragMove()로 창을 이동 한 후에도 동일한 애니메이션 후 값을 계속보고합니다.

DoubleAnimation _leftAnimation = new DoubleAnimation(); 

//...animation settings... 

_leftAnimation.Completed += delegate(object animSender, EventArgs animE) 
{ 
    BeginAnimation(Window.LeftProperty, null); 
}; 

this.BeginAnimation(LeftProperty, _leftAnimation); 
관련 문제