WP7 Silverlight сетка не показывает содержимое - PullRequest
0 голосов
/ 20 октября 2010

Прошло 2 часа борьбы с сеткой SL на WP7.Я строю свою сетку, используя следующий код:

public void initUIBoard() { int x, y; Button b;</p> <pre><code> for (x = 0; x < mine.cRows; x++) { RowDefinition rd = new RowDefinition(); rd.Height = new GridLength(20); uiBoard.RowDefinitions.Add(rd); } for (y = 0; y < mine.cColumns; y++) { ColumnDefinition cd = new ColumnDefinition(); cd.Width = new GridLength(20); uiBoard.ColumnDefinitions.Add(cd); } for (x = 0; x < mine.cRows; x++) for (y = 0; y < mine.cColumns; y++) { b = new Button(); b.Click += new RoutedEventHandler(this.caseClick); b.Tag = mine.gameBoard[x][y]; Grid.SetRow(b, x); Grid.SetColumn(b, y); uiBoard.Children.Add(b); } }

Дело в том, что моя сетка отображается пустой, я что-то не так делаю с этимиОпределение строк / столбцов или что-то?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 20 октября 2010

После некоторых экспериментов похоже, что GridLength неправильно вычисляет высоту в пикселях.
Поскольку созданная ячейка сетки недостаточно велика, элемент управления не отображается.

Попробуйте увеличить размеры, используемые для длины сетки. Я сделал следующее и получил вывод.

rd.Height = new GridLength(40);

В качестве альтернативы, рассмотрите возможность установки высоты и ширины на динамический размер. e.g.:

rd.Height = new GridLength(1, GridUnitType.Auto);

Если вы можете еще немного изучить эту проблему с высотой, а также найти ее как проблему с высотой, отправьте ее в Microsoft.

1 голос
/ 20 октября 2010

Ваш код, кажется, работает нормально (я пробовал на Silverlight не-Winphone, но должен быть таким же).

Я предполагаю, что причина в другом, например.другой элемент, покрывающий сетку uiBoard, или кнопки, прозрачные без цвета фона / рамки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...