Wp8如何动态添加stackpanel中的项目

时间:2016-03-11 21:54:58

标签: c# windows-phone-8 stackpanel

我需要在stackpanel中添加项目添加帮助。 我的项目名称是" kanal"它的wp8图像按钮项。 它是我的代码

public mainpage()
{
    InitializeComponent();
    foreach (var kanal in MainPage.kanalllarstatik)
    {
        mystackpanel.Children.Add(kanal);
    }           
}

我需要每行添加130x130像素3按钮项目,如下所示:

Its my app and button size is 130x130 pixel

1 个答案:

答案 0 :(得分:1)

Stackpanel每行只放一个元素,所以你需要放一个水平的stackpanel(在每一行)然后添加三个元素。

如果您需要130x130控件,则应使用:

kanel.Height=130;
kanal.Width =130;

代码示例

测试数据

   List<Button> buttons = new List<Button>();
        for (int i = 0; i < 16; i++)
        {
            buttons.Add(new Button
            {
                Height = 130,
                Width = 130,
                Content = new TextBlock
                {
                    Text = i.ToString()
                }
            });
        }

算法

StackPanel horizontalStackPanel = new StackPanel
            {
                Orientation = Orientation.Horizontal
            };

            foreach (Button button in buttons)
            {
                horizontalStackPanel.Children.Add(button);
                if (horizontalStackPanel.Children.Count == 3) //new line
                {
                   myStackPanel.Children.Add(horizontalStackPanel);
                    horizontalStackPanel = new StackPanel
                    {
                        Orientation = Orientation.Horizontal
                    };
                }

            }
            myStackPanel.Children.Add(horizontalStackPanel);

<强> XAML
<StackPanel x:Name="myStackPanel"></StackPanel>

结果

enter image description here

我希望这可以帮到你。