本文介绍了在WPF中以编程方式更改元素的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不知道这个简单的事情会有些复杂.我有一个Canvas,试图在其中动态添加Ellipse.这是代码:
I did not knew that this simple thing would be slightly complicated. I have a Canvas in which I am trying to add Ellipse dynamically. Here is the code:
<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不是有效值!
For some reason it throws the exception that 100 is not a valid value!
推荐答案
以下是答案:
Canvas.SetLeft(ellipse,GetRandomValue());
Canvas.SetTop(ellipse,GetRandomValue());
这篇关于在WPF中以编程方式更改元素的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!