我的 Xamarin Forms Shell 应用程序中有两个页面。
一个是列表页面,另一个是详细信息页面。
当我选择列表页面中的项目时,将显示详细信息页面。我能够将一个参数传递到第二页。我知道如何传递第二个值。但是我应该如何接收第一个属性本身的第二个值。
列表页:
async private void myLines_ItemTapped(object sender, ItemTappedEventArgs e)
{
var line = (Models.QLines)e.Item;
int pno = line.PageNo;
int lno = line.LineNo;
await Shell.Current.GoToAsync($"//mainTabs/pages?pageno={pno}&lineno={lno}");
}
详情页:
public int CurrentPage { get; set; }
public int CurrentLine { get; set; }
public bool IsFromSearchPage { get; set; }
public string PageNo
{
set
{
CurrentPage = Convert.ToInt32(Uri.UnescapeDataString(value));
IsFromSearchPage = true;
LoadPagesAsSingle();
}
}
public string LineNo
{
set
{
CurrentLine = Convert.ToInt32(Uri.UnescapeDataString(value));
}
}
public MyPages()
{
InitializeComponent();
conn = DependencyService.Get<ISQLiteMyConnection>().GetConnection();
IsFromSearchPage = false;
LoadPagesAsSingle();
}
正如中所解释的https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/navigation#pass-data https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/navigation#pass-data您可以使用QueryProperty
之间映射的属性queryID
和目标属性:
[QueryProperty("Pageno", "pageno")]
[QueryProperty("Lineno", "lineno")]
public partial class DetailPage: ContentPage
{
private int _Pageno;
public int Pageno
{
get { return _Pageno; }
set { _Pageno = value; }
}
private int _Lineno;
public int Lineno
{
get { return _Lineno; }
set { _Lineno = value; }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)