如何将ScaleTransformation.X绑定到Silverlight 3中的滑块

时间:2009-12-04 23:34:50

标签: wpf silverlight xaml silverlight-3.0

我需要缩放Canvas。在WPF中,可以将ScaleTransformation.X绑定到slider.Value。

我无法在Silverlight中执行相同操作 - 有些错误。

SL3是否支持

谢谢。

1 个答案:

答案 0 :(得分:0)

这不起作用的原因是在SL3中绑定目标需要是FrameworkElement。 (这个限制在SL4中被解除,但现在没有帮助。)

然而,解决方案只需要一点横向思考(或者在这种情况下是向后思考)。源对象不需要是Framework元素。所以答案是反向绑定,即绑定Slider Value属性并将其置于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" />