代码之家  ›  专栏  ›  技术社区  ›  Dusan Kocurek

如何将scaleTransformation.x绑定到Silverlight 3中的滑块

  •  1
  • Dusan Kocurek  · 技术社区  · 16 年前

    我需要放大画布。在wpf中,可以将scaleTransformation.x绑定到slider.value。

    我不能在Silverlight做同样的事情-有些错误。

    SL3支持吗?

    谢谢您.

    1 回复  |  直到 16 年前
        1
  •  0
  •   AnthonyWJones    16 年前

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

    然而,解决方案只是需要一点横向思考(或者在这种情况下是逆向思考)。源对象不需要是框架元素。所以答案是将绑定反转,即将绑定放在 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" />