按元素数量设置行和列定义

时间:2013-08-22 19:00:17

标签: algorithm xaml

我想从元素数量

创建我的xaml Grid元素

即。如果我有6个元素,我将不得不做3列和2行(反之亦然)

但我的元素数量(输入)可以是任何值,可以是7,8,19等。

如何确定我需要多少列和行?

编辑:更多信息: 我希望我的网格尽可能正方形,与可能的空白点无关

1 个答案:

答案 0 :(得分:1)

使用Math.Sqrt

int nElements = 6;
int nColumns = (int)Math.Ceiling(Math.Sqrt(nElements));
int nRows;
if (nElements <= nColumns*(nColumns-1)) // last row remains empty
    nRows = nColumns-1;                 // eliminate it
else
    nRows = nColumns;

您可以使用nElements的任何值进行尝试。它会好起来的! :)