我需要缩放Canvas。在WPF中,可以将ScaleTransformation.X绑定到slider.Value。
我无法在Silverlight中执行相同操作 - 有些错误。
SL3是否支持
谢谢。
答案 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" />