250 кнопок замедляют приложение в WP7? - PullRequest
0 голосов
/ 23 января 2012

Я создаю игру BattleShip для WP7, в которой есть доска с 250 ячейками. Мне нужно сделать каждую ячейку кликабельной, поэтому я решил поместить в каждую ячейку по кнопке и обрабатывать каждый клик по мере необходимости.

Мой вопрос: 250 кнопок замедляют работу телефона? Если да, то каковы альтернативы?

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Да, 250 кнопок сделают ваше приложение довольно медленным.Silverlight создает визуальное дерево для представления вашего пользовательского интерфейса.Каждая кнопка содержит шаблон, который генерирует различные элементы расширения, прямоугольники и т. Д. ... для представления визуальных состояний.

Несколько альтернатив:

  1. Используйте более легкие визуальные элементы, напримерRectangle.В них нет события Click, поэтому вместо него можно обработать MouseLeftButtonUp.
  2. Вероятно, самый легкий подход - вообще не иметь элемента для каждой ячейки.Просто обработайте взаимодействия мыши с родительским элементом, а затем определите ячейку сетки по месту щелчка.MouseEventArgs содержит метод e.GetPosition(), который позволяет определить, где произошел щелчок мыши.
2 голосов
/ 23 января 2012

Черт, да. 250 элементов управления пользовательского интерфейса - полное безумие. Альтернативное и правильное решение состоит в том, чтобы вместо этого использовать XNA и развивать свою игру как настоящую игру, а не как набор элементов управления пользовательского интерфейса.

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