【问题标题】:Silverlight Binding to TranslateXSilverlight 绑定到 TranslateX
【发布时间】:2011-02-28 09:53:47
【问题描述】:

我有一个简单的 winphone7 应用程序,但我认为这适用于任何 silverlight。

基本上我有一个椭圆,我想用平移 X 和 Y 属性移动它。这是我的尝试:

<Ellipse Fill="#FFF4F4F5" Margin="0,0,-3,-3" Stroke="Black" RenderTransformOrigin="0.5,0.5" >
            <Ellipse.RenderTransform>
                <CompositeTransform TranslateY="{Binding Y}" TranslateX="{Binding X}"/>
            </Ellipse.RenderTransform>
</Ellipse>

我很确定绑定设置正确;问题是当我运行应用程序时它给了我这个错误:

2260 发生错误。 [行:4 位置:33]

这是一个 XAML 错误。当我注释掉 composittransform 行时,错误就消失了。

谁能指出我正确的方向?如果您需要更多代码,请告诉我,我会发布更多内容。

谢谢

【问题讨论】:

    标签: silverlight binding windows-phone-7


    【解决方案1】:

    Windows Phone 7 当前基于 Silverlight 3 运行时而不是 Silverlight 4。

    Silverlight 3 中的一个限制是您只能绑定到派生自 FrameworkElement 的元素。转换类不是从FrameworkElement 派生的,因此不能参与绑定。

    与其通过绑定移动椭圆,不如考虑使用Storyboard 来为变换设置动画。

    【讨论】:

    • 啊,谢谢。我今晚回家后会尝试一些故事板的东西。
    • @AnthonyWJones,这个限制在 Mango 附带的 Silverlight 4 中消除了吗?
    • @altso:这是一个非常好的问题。当然,在 Silverlight 4 的桌面版本中,您可以绑定到 Dependency 对象。通过扩展,我希望在 Mango 中看到这一点,但是,我还没有测试过。
    猜你喜欢
    • 2017-09-02
    • 2010-11-08
    • 2011-05-29
    • 2013-09-20
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2012-04-06
    相关资源
    最近更新 更多