以编程方式创建数据透视项并动态添加堆栈面板?

4

我的Windows Phone 7应用程序中有一个Pivot控件,我想动态添加包含在StackPanel中布局的其他控件的PivotItem。我该如何以编程方式实现呢?

我尝试向PivotItemchildren添加内容,但是children在我的PivotItem中不存在。

void ws_getMenuCompleted(object sender, getMenuCompletedEventArgs e)
{
    PivotItem pvt;
    for (int i = 0; i < e.Result.menu.Length; i++)
    {
        pvt = new PivotItem();
        pvt.Header = e.Result.menu[i].name.ToLower();

        StackPanel panel = new StackPanel(); 
        // ... UI creation in StackPanel removed...

        pvt.Children = panel; // << This doesn't work.

        pvtRestaurante.Items.Add(pvt);
        pvt = null;
    }
}
1个回答

6
作为ContentControl的派生类,你应该将PivotItem的内容属性分配给它。 更多信息请参见此处http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.controls.pivotitem%28v=vs.105%29.aspx
void ws_getMenuCompleted(object sender, getMenuCompletedEventArgs e)
        {
            PivotItem pvt;
            for (int i = 0; i < e.Result.menu.Length; i++)
            {
                pvt = new PivotItem();
                pvt.Header = e.Result.menu[i].name.ToLower();
                var stack = new StackPanel();
                pvt.Content = stack;
                pvtRestaurante.Items.Add(pvt);
                pvt = null;
            }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接