OnNavigatedTo() 如何只调用一次?
How OnNavigatedTo() invoke only once?
我在OnNavigatedTo()方法中创建了一个List<>。
在方法中调用了名为 Reg 的列表 <>:Reg.Add (....)。这意味着每次我进入该页面时,我都会添加元素,如果我更改页面并使用设备的后退按钮返回,我会再次使用该方法离开,元素是 dub、triple 等。
有没有办法只在第一次调用一个方法,并可能识别它是否是一个新的导航,或者如果我们在该页面上仅通过按下设备的后退按钮返回?
protected override void OnNavigatedTo(NavigationEventArgs e)
{
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Firenze"
});
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Prato"
});
您可以添加一个实例字段:
protected bool Initialized = false;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if(!Initialized)
{
Initialized = true;
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Firenze"
});
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Prato"
});
}
}
您可以使用后退按钮检查您是否到达了该页面:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.NavigationMode != NavigationMode.Back)
{
// add items to your collection
}
}
祝我的意大利朋友发展顺利 ;)
我在OnNavigatedTo()方法中创建了一个List<>。
在方法中调用了名为 Reg 的列表 <>:Reg.Add (....)。这意味着每次我进入该页面时,我都会添加元素,如果我更改页面并使用设备的后退按钮返回,我会再次使用该方法离开,元素是 dub、triple 等。
有没有办法只在第一次调用一个方法,并可能识别它是否是一个新的导航,或者如果我们在该页面上仅通过按下设备的后退按钮返回?
protected override void OnNavigatedTo(NavigationEventArgs e)
{
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Firenze"
});
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Prato"
});
您可以添加一个实例字段:
protected bool Initialized = false;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if(!Initialized)
{
Initialized = true;
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Firenze"
});
reg.Add(
new Regioni
{
NomeRegione = "Toscana",
NomeProvincia = "Prato"
});
}
}
您可以使用后退按钮检查您是否到达了该页面:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.NavigationMode != NavigationMode.Back)
{
// add items to your collection
}
}
祝我的意大利朋友发展顺利 ;)