2011-07-24 77 views
1

下面的代碼不添加矩形。任何人都能建議我錯過了什麼? mainCanvas.Children.Add(rectangle[i]);不起作用。
RoomX.Count = 5我怎麼能去與添加所有五個矩形具有不同的寬度和高度,這是在RoomX,寬敞WPF在畫布上添加矩形

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); 
    } 
} 

回答

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

你確定這就是你想要做什麼?你正在將一個列表轉換成雙精度,這看起來有點不合適。

我想你需要這樣的東西: