繁体   English   中英

有没有办法回到导航堆栈的最后一页,而不是在 Xamarin 中执行 OnApearing 方法?

Is there a way to come back on last page in Navigation stack, and not execute OnApearing method in Xamarin?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

所以,我有Page1 ,我的用户已经填写了一些输入字段,并且有一个按钮可以打开一个新 Page (我们称之为Page2 )。

这是我在Page2上使用的代码。

Application.Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new Page2()));

这是我以前在Page1上回来的代码。

private async void GoBackButton_Clicked(object sender, EventArgs e)
    {
        await Application.Current.MainPage.Navigation.PopModalAsync();
    }

现在,我想,不知何故,当用户完成他在Page2上的内容时,他按下名为GoBack的按钮,然后他回到Page1上,并且Page1的 ViewModel 的OnApearing方法没有被执行。 这是可行的吗?

不确定是否重要,但我在 Windows10 上使用 VS22。

1 个回复

这是我在一些应用程序中使用的。 逻辑是:Page1 在第一次加载时加载数据,然后仅在请求重新加载时重新加载数据。

这是一个例子:

Page1.xaml.cs

public partial class Page1 : ContentPage
{
    private bool _isFirstLoad = true;
    private bool _isReloadRequested;

    public Page1()
    {
        InitializeComponent();
    }

    private async Task OpenPage2Async()
    {
        //navigate to Page2
        await Application.Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new Page2(() => _isReloadRequested = true)));
    }

    protected override void OnAppearing()
    {
        if (_isFirstLoad)
        {
            _isFirstLoad = false;
            ReloadData();
            return;
        }

        if (_isReloadRequested)
        {
            ReloadData();
            _isReloadRequested = false;
        }
    }

    private void ReloadData()
    {
        //reload data...
    }
}

Page2.xaml.cs

public partial class Page2 : ContentPage
{
    private readonly Action _requestReload;

    public Page2(Action requestReload)
    {
        InitializeComponent();
        _requestReload = requestReload;
    }

    private async Task GoBackAsync()
    {
        //invoke callback to set Page1's _isReloadRequested to true
        _requestReload?.Invoke();
        //go back to Page1
        await Application.Current.MainPage.Navigation.PopModalAsync();
    }
}
2 有没有办法从jsp中的同一页面中的href调用特定函数

有没有办法从jsp??中的同一页面中a href调用特定函数jsp?? 我的jsp代码是: 假设我从resulset.getString(1)获得的链接名称是Audio ,那么我想在单击Audio之后调用名为Audio的函数并在其中打印一些数据。 我不想手动提供函数名称,因为我从 ...

4 有没有办法使矩形不出现在 ssrs 的第一页中?

我正在创建一份关于 ssrs 的报告。 我有一个矩形,里面有一个文本框,我想隐藏在第一页上。 这是因为我有该项目的另一个描述,旁边有一个图像,它只出现在第一页。 在此下方有一个包含项目详细信息的 tablix,它可以包含可变数量的行。 问题是我无法仅在第一页中隐藏带有文本框的矩形。 我尝试使用像 ...

10 有没有办法命令执行@KafkaListener 方法?

目前我有 2 个 @KafkaListener 方法,它们使用来自两个不同主题的事件。 问题是我需要“使”其中一个总是先执行,然后是第二个。 我试过@DependsOn。 谢谢 更新:我的系统描述如下我有 kafka 主题帐户和事务请求。 我有一个名为 datagenerator 的微服务,它在开始 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM