2009-12-04 25 views
1

我需要縮放Canvas。在WPF中,可以將ScaleTransformation.X綁定到slider.Value。如何將ScaleTransformation.X綁定到Silverlight 3中的滑塊

我不能在Silverlight中做同樣的事情 - 有些錯誤。

SL3支持它嗎?

謝謝。

+1

你可以發佈你的代碼和你得到的錯誤。沒有這些,任何人都很難提供建設性的建議。 – ChrisF 2009-12-04 23:36:48

+0

http://forums.silverlight.net/forums/t/126889.aspx – 2009-12-05 00:56:50

回答

0

這不起作用的原因是SL3中的綁定目標需要是FrameworkElement。 (這個限制在SL4中解除了,但現在沒有幫助)。

然而,解決方案只需要一點橫向思維(或在這種情況下,後向思考)。源對象不需要是框架元素。所以答案是反向綁定,即將綁定放在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" />