我在我的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();
}
型
3条答案
按热度按时间carvr3hs1#
您可以在detailPage中使用参数
字符串
然后在我的页面中调用它
型
qlzsbp2j2#
如https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/navigation#pass-data中所述,您可以使用
QueryProperty
属性在queryID
和目标属性之间进行Map:字符串
gkl3eglg3#
作为另一种解决方案,您可以通过页面的静态成员传递参数。例如,页面可能包含静态ViewModel对象,该对象将在页面出现之前初始化。
字符串
调用者内部的代码
型