2012-04-28 191 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? – 2012-04-28 13:35:27

回答

0

它似乎是Silverlight。尝试定义处理程序Click事件Button和使用这种方法(它应该在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事件处理程序中递增。