搜尋此網誌

2009年11月4日 星期三

Silverlight:使用元件內無指定的屬性,可能產生的問題

在從事修改Sliverlight內各元件的屬性,假若在.xaml檔內的元件沒有先行加入屬性的敘述,程式執行時,將無指對該屬性從事修改的動作(元件內無法找到指定的屬性),例如以下Ellipse元件:

<Ellipse x:Name="MyAnimatedRectangle" Stroke="Black" StrokeThickness="1"
  Width="50" Height="50" >

</Ellipse>


程式在執行中,若想使用 PlaneProjection對當下的Ellipse元件指定RotationX屬性值,則會發生找不到指定屬性的狀況。其解決方法即是在目標Ellipse內加入Projection內容(物件內必需被包入指定的屬性值,亦即程式執行當中再加入亦可):

<Ellipse x:Name="MyAnimatedRectangle" Stroke="Black" StrokeThickness="1"
  Width="50" Height="50" >
    <Ellipse.Projection>
     <PlaneProjection x:Name="pProject" RotationX="0" RotationY="0"/>
    </Ellipse.Projection>

</Ellipse>

假若沒有預先加入<Prjection>內容,程式執行屬性修改前加入以下程式碼亦可:

MyAnimatedRectangle.Projection = new PlaneProjection();

沒有留言:

張貼留言