(.NET Maui) 如何判断子页面何时返回?

问题描述 投票:0回答:1

我有一个 .NET Maui 开发新手问题。我有一个页面调用另一个页面,当该子页面结束时我想做一些事情......它是一个详细信息页面之类的东西,用于编辑。当它返回时,我想用它编辑的数据做一些事情。我已经搜索过,但找不到在子页面完成时通知父页面的方法。

现在我仍在使用测试页面,但是一旦我知道如何去做,我将使用我在应用程序中学到的知识。因此,我在父页面中有以下代码来导航到详细信息页面。

private async void NavigateToPage()
{
    MyItem item = _myItemList.Where(x => x.KeyString == "1958").First();
    _SharedService.Add<MyItem> ("SharedServiceItemKey", item);

    MainThread.BeginInvokeOnMainThread(async () => { await App.Current.MainPage.Navigation.PushAsync(new TestPage(_SharedService, item), true); });
 }

详情页就是这样调用的,效果很好。接下来,详情页面会以如下方式返回。

private async void NavigateBack()
{
    _SharedService.Add<MyItem>("SharedServiceReturnItemKey", _item);
    await Shell.Current.GoToAsync("..");
}

一切正常,页面被调用并返回,共享数据似乎就在那里。我缺少的是一些通知,表明测试页面已完成并已将数据传回,以便调用页面可以对其执行某些操作。如有任何帮助,我们将不胜感激。

c# .net navigation maui
1个回答
0
投票

在毛伊岛,您可以使用后退按钮行为来实现此目的。

后退按钮的外观和行为可以通过将

BackButtonBehavior
附加属性设置为
BackButtonBehavior
对象来重新定义。

以下代码显示了重新定义后退按钮外观和行为的示例:

<ContentPage ...>    
    <Shell.BackButtonBehavior>
        <BackButtonBehavior Command="{Binding BackCommand}"
                            IconOverride="back.png" />   
    </Shell.BackButtonBehavior>
    ...
</ContentPage>
© www.soinside.com 2019 - 2024. All rights reserved.