2010-06-06 76 views
4

我有一個簡單的winphone7應用程序,但我認爲這將適用於任何silverlight。Silverlight綁定到TranslateX

基本上我有一個橢圓,我想用它翻譯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發生錯誤。 [Line:4 Position:33]

這是一個XAML錯誤。當我註釋掉組合轉換線時,錯誤消失。

任何人都可以指向正確的方向嗎?如果你需要更多的代碼讓我知道,我會發布更多。

感謝

回答

5

的Windows Phone 7目前是基於Silverlight 3運行Silverlight的沒有4.

一個在Silverlight 3的限制是,你只能綁定到從FrameworkElement派生的元素。轉換類不從FrameworkElement派生,因此不能參與綁定。

而不是通過綁定來移動橢圓,可以考慮使用Storyboard來改變動畫。

+0

啊,謝謝你。今天晚上我回家時,我會嘗試一些故事情節。 – Peanut 2010-06-07 12:32:01

+0

@AnthonyWJones,是否在Silverlight 4中刪除了這個限制? – altso 2011-07-17 18:39:54

+0

@altso:這是一個非常好的問題。當然,在Silverlight 4的桌面版本中,您可以綁定到Dependency對象。通過擴展,我期望看到,在芒果,但是,我沒有測試,以確保。 – AnthonyWJones 2011-07-18 12:10:49