在整个类中使用LoadStateEventArgs

本文关键字:LoadStateEventArgs | 更新日期: 2023-09-27 17:50:55

我是一个初学者在制作一个Windows商店应用程序。这个应用程序是基于c#和XAML。在第一页上的数据被发送到第二页上按下一个瓷砖。它会像这样给第二页一个参数:

void ItemView_ItemClick(object sender, ItemClickEventArgs e)
{
    var groupId = ((ProductGroup)e.ClickedItem).UniqueId;
    this.Frame.Navigate(typeof(GroupView), groupId);
}

在第二页上,我像这样检索groupId中给定的UniqueId:

private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
{      
    string uniqueId = ((string)e.NavigationParameter);
    var result = await backEnd.getJsonData(uniqueId);
    this.DefaultViewModel["Groups"] = result;
}

现在我想在整个页面中使用唯一的id。有人知道怎么做吗?

提前感谢!

在整个类中使用LoadStateEventArgs

有两种方法可以做到这一点:为页面中的UniqueId创建一个类变量,或者将值存储在某个地方,例如ViewModel。

试试这个:

private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
{      
    string uniqueId = ((string)e.NavigationParameter);
    var result = await backEnd.getJsonData(uniqueId);
    this.DefaultViewModel["Groups"] = result;
    this.DefaultViewModel["UniqueId"] = uniqueId;
}

然后,当你需要返回并获取它时,只需使用:

this.DefaultViewModel["UniqueId"];

希望这有助于和快乐的编码!