在WP7中,250个按钮会减慢应用程序吗?

时间:2012-01-23 01:17:18

标签: windows-phone-7 windows-phone-7.1

我正在为WP7构建一个BattleShip游戏,它拥有250个单元格。我需要让每个单元格都可以点击,所以我想在每个单元格中放入一个按钮并根据需要处理每次单击。

我的问题是:250个按钮会减慢手机速度吗?如果有,那么有哪些替代方案呢?

2 个答案:

答案 0 :(得分:2)

见到了。 250个UI控件完全疯狂。另一种正确的解决方案是使用XNA,将游戏开发为真正的游戏,而不是一堆UI控件。

答案 1 :(得分:2)

是的,250个按钮会使您的应用程序变得非常慢。 Silverlight构造一个可视树来表示您的UI。每个按钮都包含一个模板,可以生成各种各样的扩展器,矩形等......用于表示视觉状态。

有两种选择:

  1. 使用更轻量级的可视元素,例如Rectangle。这些没有Click事件,因此您可以处理MouseLeftButtonUp
  2. 可能最轻量级的方法是根本不为每个单元格提供元素。只需处理父元素上的鼠标交互,然后从点击位置确定网格单元格。 MouseEventArgs包含e.GetPosition()方法,可让您确定鼠标点击的位置。