为什么此代码没有';是否在WPF中创建10行?
我是WPF的初学者,我把下面的代码放在一个按钮点击处理程序中,我希望点击按钮后会有10条垂直线,但只有一条,有什么想法吗?谢谢“spDrawPanel”是一个stackpanel为什么此代码没有';是否在WPF中创建10行?,wpf,shape,Wpf,Shape,我是WPF的初学者,我把下面的代码放在一个按钮点击处理程序中,我希望点击按钮后会有10条垂直线,但只有一条,有什么想法吗?谢谢“spDrawPanel”是一个stackpanel double aw = this.spDrawPanel.ActualWidth; double ah = this.spDrawPanel.ActualHeight; for (int i = 1; i <= 10; i++) {
double aw = this.spDrawPanel.ActualWidth;
double ah = this.spDrawPanel.ActualHeight;
for (int i = 1; i <= 10; i++)
{
Line ln = new Line();
ln.Stroke = Brushes.Black;
ln.X1 = aw / 10 * i;
ln.Y1 = ah;
ln.X2 = aw / 10 * i;
ln.Y2 = ah - 15;
ln.StrokeThickness = 1;
this.spDrawPanel.Children.Add(ln);
}
double aw=this.spDrawPanel.ActualWidth;
double ah=this.spDrawPanel.ActualHeight;
对于(int i=1;i问题在于,您使用的是一个StackPanel
,默认情况下,它将每一行相互堆叠,并且您从StackPanel
的底部开始,因此您的房地产已经用完。尝试将Y1设置为15,Y2设置为0,您将得到10行。您是否设置了断点t在调试器中验证spDrawPanel.Children集合是否确实有10个子项,并验证结果行的X/Y坐标?是的,它有10个子项,并且它们的X/Y不同。谢谢!是的,问题是由StackPanel引起的,我只是用Canvas替换StackPanel,所有工作正常。非常感谢。