WPF добавление прямоугольников на холсте - PullRequest
1 голос
/ 24 июля 2011

Код ниже не добавляет прямоугольник.Может кто-нибудь посоветовать Что я пропустил?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);
     }
}

1 Ответ

2 голосов
/ 24 июля 2011
Width = Convert.ToDouble(RoomX),
Height = Convert.ToDouble(RoomY),

Вы уверены, что это то, что вы хотите сделать? Вы конвертируете список в двойное число, что выглядит довольно странно.

Я думаю, вам нужно что-то вроде:

Width = Convert.ToDouble(RoomX[i]),
Height = Convert.ToDouble(RoomY[i]),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...