2010-06-06 10 views
4

나는 간단한 winphone7 응용 프로그램을 가지고 있지만 이것은 모든 실버 라이트에 적용될 것이라고 생각합니다.Silverlight TranslateX에 바인딩

기본적으로 나는 타원이 있으며 변환 X 및 Y 속성을 사용하여 이동하려고합니다. 내 시도는 다음과 같습니다.

<Ellipse Fill="#FFF4F4F5" Margin="0,0,-3,-3" Stroke="Black" RenderTransformOrigin="0.5,0.5" > 
      <Ellipse.RenderTransform> 
       <CompositeTransform TranslateY="{Binding Y}" TranslateX="{Binding X}"/> 
      </Ellipse.RenderTransform> 
</Ellipse> 

바인딩이 올바르게 설정되었습니다. 문제는 응용 프로그램을 실행할 때이 오류가 발생합니다.

2260 오류가 발생했습니다. [줄 : 4 위치 : 33]

이는 XAML 오류입니다. composittransform 라인을 주석 처리 할 때 오류가 사라집니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까? 더 많은 코드가 필요하면 알려주세요. 더 게시 할 예정입니다.

감사

답변

5

윈도우 폰 7은 현재 실버 라이트 3 런타임하지 실버 라이트 실버 라이트 3의 제한 4.

하나를 기반으로 당신이 단지 FrameworkElement에서 파생 된 요소에 결합 할 수 있다는 것입니다. 변환 클래스는 FrameworkElement에서 파생되지 않으므로 바인딩에 참여할 수 없습니다.

바인딩을 통해 타원을 이동하는 대신 Storyboard을 사용하여 변환을 대신 고려하십시오.

+0

아, 감사합니다. 나는 오늘 저녁 집에 올 때 스토리 보드에 몇 가지 시도를해볼 것입니다. – Peanut

+0

@AnthonyWJones, 망고와 함께 제공되는 Silverlight 4에서이 제한이 제거 되었습니까? – altso

+0

@altso : 아주 좋은 질문입니다. 데스크톱 버전의 Silverlight 4에서는 종속성 개체에 바인딩 할 수 있습니다. 연장으로 망고에서 볼 수 있겠지만 나는 그걸 시험하지 않았다. – AnthonyWJones