Xamarin.forms 返回上一页,刷新Xamarin表单中的数据

Xamarin.forms 返回上一页,刷新Xamarin表单中的数据,xamarin.forms,Xamarin.forms,在主页上我有一个创建帖子的按钮。当我点击它时,我收到了编辑器。输入一些文本后,我单击按钮savePost。然后将帖子保存到服务器并返回到我的主页,但在我的墙上没有新帖子。我需要刷新那个页面才能看到我的新帖子。单击savePost按钮后,如何编写代码以接收主页上的上一页和新帖子 Button savePost = new Button {Text = "Save post"}; stackLayout.Children.Add(savePost);

在主页上我有一个创建帖子的按钮。当我点击它时,我收到了编辑器。输入一些文本后,我单击按钮savePost。然后将帖子保存到服务器并返回到我的主页,但在我的墙上没有新帖子。我需要刷新那个页面才能看到我的新帖子。单击savePost按钮后,如何编写代码以接收主页上的上一页和新帖子

        Button savePost = new Button {Text = "Save post"};
        stackLayout.Children.Add(savePost);
        savePost.Clicked += (sender, args) =>
        {
            var restService = new RestServiceImpl(UserService.User.AccessToken);
            PostView post = new PostView
            {
                Text = textEditor.Text,
            };
            restService.CreatePost(post);
            Navigation.PopAsync();
        };

有几种方法可以做到这一点。最简单的方法是在页面的
OnAppearing
事件上实现某种机制,然后在那里重新加载,或者考虑某种方法来检测重新加载,而不是仅仅重新加载。例如,可以通过在“restService.CreatePost(post);”之后设置为true的一些
bool
来完成此操作线路

这让我想到了另一个方向。当您使用某种MVVM框架时(比如看一看),您可以在弹出页面模型时执行一些代码。因此,您可以更精确地控制何时重新加载和检测是否有必要

另一种完全不同的方法是使用。您可以在需要重新加载时发送消息,并让需要重新加载的页面订阅该消息,并在收到正确消息时执行重新加载代码


这完全取决于您的需求和代码结构。

有几种方法。最简单的方法是在页面的
OnAppearing
事件上实现某种机制,然后在那里重新加载,或者考虑某种方法来检测重新加载,而不是仅仅重新加载。例如,可以通过在“restService.CreatePost(post);”之后设置为true的一些
bool
来完成此操作线路

这让我想到了另一个方向。当您使用某种MVVM框架时(比如看一看),您可以在弹出页面模型时执行一些代码。因此,您可以更精确地控制何时重新加载和检测是否有必要

另一种完全不同的方法是使用。您可以在需要重新加载时发送消息,并让需要重新加载的页面订阅该消息,并在收到正确消息时执行重新加载代码


这完全取决于您的需求和代码结构。

感谢您的帮助和非常快速的回答:)如果它(最终)帮助了您,请不要忘记将其标记为答案!通过messagecenter,我实现了实时更新,谢谢……感谢您的帮助和非常快速的回答:)如果它(最终)帮助了您,请不要忘记将其标记为答案!通过messagecenter,我实现了实时更新,谢谢。。。。