簡體   English   中英

如何在WP7上動態填充網格?

[英]How to populate dynamically a grid on WP7?

這是我在WP7中的第一個程序,所以我有一些問題。

我正在嘗試使用另一種方法購買的對象列表填充網格。 這是我到目前為止所做的:

public partial class MainPage : PhoneApplicationPage
{
    private List<Row> lsResult;
    private Grid myGrid = new Grid();
    private int i = 0;

    // Constructor
    public MainPage()
    {
        InitializeComponent();

        ColumnDefinition colData = new ColumnDefinition();
        ColumnDefinition colOcorrencia = new ColumnDefinition();
        ColumnDefinition colSituacao = new ColumnDefinition();
        myGrid.ColumnDefinitions.Add(colData);
        myGrid.ColumnDefinitions.Add(colOcorrencia);
        myGrid.ColumnDefinitions.Add(colSituacao);
        myGrid.ShowGridLines = true;
        SolidColorBrush myBrush = new SolidColorBrush(Colors.White);
        myGrid.Background = myBrush;
        gridResult = myGrid;

    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        i = 0;
        lsResult = null;
        lsResult = Rastrear.Busca(txtNumber.Text);
        foreach (Row r in lsResult)
        {
            RowDefinition rNewRow = new RowDefinition();
            myGrid.RowDefinitions.Add(rNewRow);

            TextBlock lblData = new TextBlock();
            lblData.Text = r.Data.ToString();
            lblData.HorizontalAlignment = HorizontalAlignment.Center;
            lblData.VerticalAlignment = VerticalAlignment.Center;
            Grid.SetColumnSpan(lblData, 1);
            Grid.SetRow(lblData, i);

            TextBlock lblOcorrencia = new TextBlock();
            lblOcorrencia.Text = r.Ocorrencia.ToString() ;
            Grid.SetColumnSpan(lblOcorrencia, 2);
            Grid.SetRow(lblOcorrencia, i);

            TextBlock lblSituacao = new TextBlock();
            lblSituacao.Text = r.Situacao.ToString();
            Grid.SetColumnSpan(lblSituacao, 3);
            Grid.SetRow(lblSituacao, i);
            i++;

            myGrid.Children.Add(lblData);
            myGrid.Children.Add(lblOcorrencia);
            myGrid.Children.Add(lblSituacao);   
        }
        gridResult = myGrid;

    }
}

方法Buscar()按原樣返回列表,但是當我點擊按鈕時它沒有做任何事情,甚至連構造函數上的白色塗料實際上都沒有。

提前致謝

你在你的代碼背后做了一些非常陰暗的東西,我已經習慣了,應該在xaml中完成。 改變這個

gridResult = myGrid;

gridResult.Children.Add(myGrid);

我不認為你可以像這樣更改靜態UI元素的引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM