我不知道这个简单的事情会稍微复杂一点。我有一个画布,我试图动态地添加Ellipse。下面是代码:以编程方式更改WPF元素的位置
<StackPanel>
<Canvas Name="canvas" Background="LightBlue" Margin="5" Width="250" Height="250">
</Canvas>
<Button Content="Draw Images" Click="Button_Click" Width="100" Margin="10" />
</StackPanel>
这里是后面的代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
Ellipse ellipse = new Ellipse();
ellipse.Fill = Brushes.Red;
ellipse.Width = 10;
ellipse.Height = 10;
ellipse.SetValue(Canvas.LeftProperty,100);
ellipse.SetValue(Canvas.TopProperty,100);
canvas.Children.Add(ellipse);
}
出于某种原因,抛出异常到100是不是一个有效的价值!
GetRandomValue返回什么? – 2013-03-12 17:36:42
@ArlenBeiler显然是一个随机值。这里的要点是使用SetLeft/SetTop而不是SetValue。 – 2014-06-23 19:25:05