簡體   English   中英

通過/接收 <list> 在頁面之間並填充listview / richtextbox C#Windows Phone 8.1

[英]Pass/Receive <list> between pages and fill listview/richtextbox C# Windows Phone 8.1

我正在創建一個Win的小應用程序。 電話8.1,用戶選擇了多個復選框,然后,應用程序執行Foreach驗證選中了哪個復選框,然后應用程序獲取復選框的內容(文本),填寫並將列表發送到另一頁,然后在第2頁,填充一個listview控件。

第1頁

    List<ClassDados> lista = new List<ClassDados>();
    ClassDados cDados = new ClassDados();

    foreach (CheckBox c in checkboxes)
    {
        if (c.IsChecked == true)
        {                  
            cDados.Pedido = c.Content.ToString();
            lista.Add(cDados);
        }
    }

    Frame.Navigate(typeof(Carrinho), (lista));

我的課:

class ClassDados
{
public string Pedido { get; set; }
public int Valor { get; set; }}

第2頁

public sealed partial class Carrinho : Page
{
List<ClassDados> lista = new List<ClassDados>();

public Carrinho()
{
    this.InitializeComponent();
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    ClassDados c = e.Parameter as ClassDados;
    Cardapio car = e.Parameter as Cardapio;

}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
    ClassDados c = e.Parameter as ClassDados;
    Cardapio car = e.Parameter as Cardapio;

}

}

我的觀點是:接收頁面1的數據,並用頁面1的數據填充listview / richtexbox控件,但是我無法做到這一點,因為我的處理方法在C#Windows Forms上是相同的,但是與Windows Phone不同,有人可以幫助我嗎?

我不確定我是否完全理解您的問題。 您是否要將在頁面1上創建的List<ClassDados>傳遞給頁面2?

首先,移動ClassDados cDados = new ClassDados(); 行進入foreach循環(第1頁):

foreach (CheckBox c in checkboxes)
{
    if (c.IsChecked)
    {
        ClassDados cDados = new ClassDados();               
        cDados.Pedido = c.Content.ToString();
        lista.Add(cDados);
    }
}

然后將另一個構造函數添加到頁面2:

public Carrinho(List<ClassDados> cDados)
{
    this.InitializeComponent();
    // Use cDados to populate your control
}

我還注意到ClassDados.Valor尚未使用。 你可以添加一個構造函數來ClassDados接受一個字符串,並填充Pedido財產。

問題是您希望在頁面2上接收類型為ClassDados的對象,盡管在頁面1上傳遞的是ClassDados List<ClassDados> lista 因此在第2頁上,List<ClassDados> lista = e.Parameter as List<ClassDados> 這應該夠了吧。 另外,請確保從e.Parameter檢索對象時檢查是否為空!

暫無
暫無

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

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