我试图获得网格的高度和宽度:
int numberOfColumnsInGameView = (int)(gameView.Width / objectSize);
int numberOfRowsInGameView = (int)(gameView.Height / objectSize -0.5);
gameView
是网格。当我尝试分配变量时,我有var = NaN
答案 0 :(得分:1)
我建议您使用Grid.ActualHeight
和Grid.ActualWidth
属性。
仅当您需要设置新值时,才应使用Height
和Width
。
答案 1 :(得分:0)
最保守的方式可能就是做这样的事情:
private double HeightOf(FrameworkElement element)
{
if (double.IsNaN(element.Height))
return element.ActualHeight;
if (double.IsNaN(element.ActualHeight))
return element.Height;
return Math.Max(element.Height, element.ActualHeight);
}
这样,您将涵盖以下情况:
ActualHeight
)Height
)答案 2 :(得分:0)
我明白了。
this.Loaded += MainPage_Loaded;
.........
private void GeneranteLevel(int level)
{
int numberOfColumnsInGameView = (int)(gameView.ActualWidth / objectSize);
int numberOfRowsInGameView = (int)(gameView.ActualHeight / objectSize -0.5);
........