2012-03-13 5 views
1

일부 애니메이션을 지원하는 컨트롤이 있습니다.Silverlight : 애니메이션 일시 중지

나는 내부 구조에 액세스하지 못했습니다.

이 애니메이션의 스크린 샷을 200 밀리 초마다 얻으려면 어떻게해야합니까?


나는이 코드를 시도했다 :

var timer = new Timer(state => 
      { 
       this.root.Dispatcher.BeginInvoke(() => 
        { 
          var bitmap = new WriteableBitmap(this.root, new TranslateTransform()); 
          SaveImageSomewhere(bitmap, "picture_" + (i++) + ".png"); 
        }); 
      }, null, 0, 200); 

을하지만이 200ms 간격으로 스크린 샷 동작을 발생하지 않습니다 UI 스레드에서 원용을 캡처 때문이다.

일부 컨트롤에서 애니메이션을 중지 (정지) 할 수 있습니까?

+0

블렌드를 사용하여 컨트롤 템플릿을 편집 할 수 있습니까? – jv42

+0

@ jv42 가능하지만이 컨트롤의 애니메이션이 코드에서 첨부 된 것처럼 보입니다. 그것은 꽤 복잡한 제어입니다. –

+0

그래서 VSM에 의해 제어되지 않습니까? – jv42

답변

1

Silverlight Spy을 다운로드하고 컨트롤을보고 애니메이션을 어떻게 사용하는지 제안하고 싶습니다. 스토리 보드를 사용하는 경우 컨트롤 트리를 탐색하여 스토리 보드에 올릴 수 있으며 Pause method을 호출 할 수 있습니다.

또 다른 옵션은 C# win 양식 또는 WPF 앱의 브라우저 컨트롤 안에 UI를 호스트하고 스크린 샷 (또는 download a pre-built one)을 캡처하는 데 사용하는 것입니다.

관련 문제