Windows phone 7 如何以编程方式在wp7中动态创建的按钮中添加stackpanel

Windows phone 7 如何以编程方式在wp7中动态创建的按钮中添加stackpanel,windows-phone-7,Windows Phone 7,我想知道如何在代码背后创建一个按钮,其中包含Stackpanel作为容器 当我尝试创建按钮时,它在stackpanel中抛出空异常。请帮助我解决这个问题 我试过的是: foreach (var pd in Query) { Button b = new Button(); b.HorizontalContentAlignment = HorizontalAlignment.Stretch; b.HorizontalAlignment = HorizontalAlignme

我想知道如何在代码背后创建一个按钮,其中包含Stackpanel作为容器 当我尝试创建按钮时,它在stackpanel中抛出空异常。请帮助我解决这个问题

我试过的是:

foreach (var pd in Query)
{
    Button b = new Button();
    b.HorizontalContentAlignment = HorizontalAlignment.Stretch;
    b.HorizontalAlignment = HorizontalAlignment.Left;
    b.VerticalAlignment = VerticalAlignment.Top;
    b.Height = 196;
    b.Width = 172;
    b.Margin = new Thickness(d, 0, 0, 0);
    b.Style = this.Resources["ButtonStyle1"] as Style;

    Grid st = new Grid();

    st.HorizontalAlignment = HorizontalAlignment.Stretch;
    st.Width = 160;
    st.Height = 188;

    TextBlock tb = new TextBlock();
    tb.TextWrapping = TextWrapping.Wrap;
    tb.VerticalAlignment = VerticalAlignment.Top;
    tb.HorizontalAlignment = HorizontalAlignment.Stretch;
    tb.FontSize = 14;
    tb.Margin = new Thickness(10, 0, 0, 0);
    tb.RenderTransformOrigin = new Point(0.5, 0.5);
    tb.FontSize = 14;
    tb.FontWeight = FontWeights.Bold;
    tb.Height = 35;

    TextBlock tb1 = new TextBlock();
    tb1.Height = 109;
    tb1.VerticalAlignment = VerticalAlignment.Bottom;
    tb1.HorizontalAlignment = HorizontalAlignment.Stretch;
    tb1.FontSize = 12;
    tb1.TextWrapping = TextWrapping.Wrap;

    b.Content = pd.ProductName;

    b.FontSize = 14;
    b.Background = new SolidColorBrush(Colors.Red);

    ContentPanel.Children.Add(b);

    b.Click += new RoutedEventHandler(b_Click);

    st.Children.Add(tb);
    st.Children.Add(tb1);

    st = b.Content as Grid;

    d += 140;
}

在你的代码中,你实际上没有使用st的值。我相信你最后想做的是
b.Content=st而不是
st=b。内容为网格

您可以向我们展示您的代码吗?参考请参阅此链接中的我的代码,我已将代码添加到您的答案中。哪一行正在抛出异常?无论如何,在代码中实际上没有使用
st
的值。我相信你最后想做的是
b.Content=st而非
st=b。内容为网格非常感谢它的工作。以前,行b.content as grid抛出Null异常,现在已经解决了