2012-04-28 2 views
0

キャンバスの楕円の高さと幅を変更したいのですが、ボタンをクリックすると1が増えます。 しかし、キャンバスのサイズ変更機能が見つかりませんでした。どのように楕円のサイズを変更できますか?C#キャンバスサイズ変更

また、キャンバスを含む画像を追加したい場合は、どうすればいいですか。

Canvas Name="MainCanvas" 
     <Ellipse Canvas.Left="0" Canvas.Top="0" Height="15" Name="headEllipse" Stroke="Black" Width="15" Fill="Orange" /> 
     <Ellipse Canvas.Left="50" Canvas.Top="0" Height="15" Name="rightEllipse" Stroke="Black" Width="15" Fill="SlateGray" /> 
     <Ellipse Canvas.Left="93" Canvas.Top="0" Fill="SpringGreen" Height="15" Name="leftEllipse" Stroke="Black" Width="15" /> 
     <Ellipse Canvas.Left="150" Canvas.Top="0" Height="15" Name="KneeRightEllipse" Stroke="Black" Width="15" Fill="Salmon" /> 
     <Ellipse Canvas.Left="200" Canvas.Top="0" Fill="White" Height="15" Name="KneeLeftEllipse" Stroke="Black" Width="15" /> 
     <Ellipse Canvas.Left="235" Canvas.Top="0" Fill="PaleGreen" Height="15" Name="ShoulderEllipse" Stroke="Black" Width="15" /> 
    </Canvas> 
+0

はこのwpf、winrt、またはsilverlightですか? –

答えて

0

Silverlightのようです。 ButtonClickイベントのハンドラを定義し、このメソッドを使用してみてください(これは、WPFとSilverlightの両方を動作するはずですが、私はWPFでそれをテストしている):

private void btnEnlargeEllipses_Click(object sender, RoutedEventArgs e) 
    { 
     foreach (UIElement control in MainCanvas.Children) 
     { 
      Ellipse ellipse = (control as Ellipse); 
      if (ellipse != null) 
      { 
       ellipse.Width += 1; 
       ellipse.Height += 1; 
      } 
     } 
    } 

を別の方法として、あなたはDependencyProperty、バインドを定義することができ末尾の楕円の幅は端の高さになり、ボタンのClickイベントハンドラ内で増えます。

関連する問題