UI 几秒后消失

UI disappearing after a few seconds

我一直在构建一个 Windows Phone 应用程序 (8.1),它获取一些 JSON 数据,对其进行解析,然后根据需要构建 UI 元素。获取和解析工作正常,生活很美好,但 UI 元素仅在几秒钟后就消失了。可以看到一个示例 here,其中用户单击一个按钮并创建元素,但被销毁。具体来说,这段代码就是我实现它的方式。

private void doBuild(object sender, TappedRoutedEventArgs e) {
    Button myButton = new Button();
    myButton.Width = 160;
    myButton.Height = 72;
    myButton.Content = "Click Me";
    var margin = myButton.Margin;
    margin.Top = 250;
    margin.Left = 15;
    myButton.Margin = margin;
    LayoutRoot.Children.Add(myButton);
    LayoutRoot.UpdateLayout();
}

我做错了什么?

问题出在您的布局上。您已将网格第一列的宽度设置为 0%。由于您的按钮默认添加到第一列,因此其宽度设置为 0。

要么更改列的大小,要么将按钮添加到另一列:

private void doBuild(object sender, TappedRoutedEventArgs e)
{
    Button myButton = new Button();
    myButton.Width = 160;
    myButton.Height = 72;
    myButton.Content = "Click Me";
    var margin = myButton.Margin;
    margin.Top = 250;
    margin.Left = 15;
    myButton.Margin = margin;

    Grid.SetColumn(myButton, 1);

    LayoutRoot.Children.Add(myButton);
    LayoutRoot.UpdateLayout();
}