2009-12-04 5 views
1

캔버스를 확대해야합니다. WPF에서는 ScaleTransformation.X를 slider.Value에 바인딩 할 수 있습니다.Silverlight 3에서 ScaleTransformation.X를 슬라이더에 바인딩하는 방법

Silverlight에서 동일한 작업을 수행 할 수 없습니다. 일부 오류가 발생합니다.

SL3에서 지원됩니까?

감사합니다.

+1

코드 및 오류를 게시 할 수 있습니까? 이것 없이는 누구나 건설적인 조언을하는 것이 어려울 것입니다. – ChrisF

+0

http://forums.silverlight.net/forums/t/126889.aspx –

답변

0

SL3에서 바인딩 대상이 FrameworkElement이어야합니다. (이 제한은 SL4에서 해제되었지만 지금은 도움이되지 않습니다).

그러나 솔루션은 단지 약간의 측면적인 생각 (또는이 경우 역방향 사고)을 취합니다. 원본 개체는 Framework 요소 일 필요는 없습니다. 그래서 대답은 바인드를 역방향으로 바꾸는 것입니다. 바인딩은 SliderValue 속성에 바인딩을 넣고 TwoWay 모드에 넣습니다.

<Border Width="200" Height="200"> 
    <Border.RenderTransform> 
     <ScaleTransform x:Name="TargetTransform" /> 
    </Border.RenderTransform> 
    <!-- Some Content Here --> 
</Border> 

<Slider Value="{Binding ScaleX, ElementName=TargetTransform, Mode=TwoWay}" 
    Width="200" Canvas.Top="250" 
    Minimum="0.1" Maximum="2.0" /> 
관련 문제