2013-08-05 6 views
0

WPF에서 Label을 움직이려고합니다. timer tick에 있습니다.레이블 애니메이션

SlideLabel.Margin.Left = 90; 

을하지만 예외가있다 : I는 다음과 같이 그 일을하고

이 변수

하지 않기 때문에 'System.Windows.FrameworkElement.Margin'의 반환 값을 수정할 수 없습니다

나는 여기에 대답을 얻었다 : Setting Margin Properties in code

하지만 조금 아마도 때문에 약한 OOP 개념의, 한 가지를 혼동입니다. 내가 Thickness의 새로운 인스턴스이 같은 모든 시간을 만들 경우 :

SildeLabel.Margin = new Thickness(90, 18, -1, 0); 

그래서이 모든 인스턴스는 메모리에있을 것입니다 및 참조됩니다. 따라서 GC는이를 처리하지 않습니다. 그것은 많은 기억을 취할 것입니다. 내가 여기서 맞습니까?

사실 저는 뉴스 채널처럼 화면 하단에 슬라이드를 만들고 싶습니다. 그래서 나는 이것을 더 잘 찾을 수 없었다. 이것이 최악이라면, 이것을 성취 할 다른 방법에 대해 친절하게 말해주십시오.

+1

타이머 대신 애니메이션을 사용할 수 있습니다. –

+0

@ sa_ddam213 저는 WPF 초심자입니다. 이것을 달성하기위한 기본 또는 간단한 기사가 있습니까? – Shaharyar

답변

1

희망하는 애니메이션을 얻으려면 TranslateTransformStoryBoard을 사용하는 것이 좋습니다.

this MSDN 코드 예를 확인하십시오.

희망이 있습니다.

관련 문제