WPF在画布上添加矩形

本文关键字:添加 WPF | 更新日期: 2023-09-27 18:03:24

下面的代码不添加矩形。有人能给点建议吗我错过了什么?mainCanvas.Children.Add(rectangle[i]);不工作。
RoomX。Count = 5如何添加五个不同宽度和高度的矩形也就是RoomX, RoomY

private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
     HProDataContext db = new HProDataContext();
     var RoomX = (from d in db.rooms select d.sizex).ToList();
     var RoomY = (from d in db.rooms select d.sizey).ToList();
     for (int i = 0; i < RoomX.Count; i++)
     {
          var random = new Random();
          var rectangle = new Rectangle()
          {
                Stroke = Brushes.Black,
                Fill = Brushes.SkyBlue,
                Width = Convert.ToDouble(RoomX),
                Height = Convert.ToDouble(RoomY),
                Margin = new Thickness(left: random.NextDouble() * 300,
                                       top: random.NextDouble() * 150,
                                       right: 0,
                                       bottom: 0),
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center,
            };
            mainCanvas.Children.Add(rectangle);
     }
}

WPF在画布上添加矩形

Width = Convert.ToDouble(RoomX),
Height = Convert.ToDouble(RoomY),

你确定那是你想做的吗?你把一个列表转换成双精度类型,这看起来有点不对劲。

我想你需要这样的东西:

Width = Convert.ToDouble(RoomX[i]),
Height = Convert.ToDouble(RoomY[i]),