1

我的 Xamarin 项目中有一个表单,它的结果是这样的:

这个页面加载太长了

基本上有一个标题(1)和这种形式的正文(2)。标题是使用 AbsoluteLayout 构建的非常简单的。

为了创建主体 (2),我创建了组件以显示选项卡控件,然后为每个选项卡创建一个包含图像和文本的特定网格。对于每个部分,我在数据库中检查它有多少条记录并更改文本。这个活动很长,我试图了解为什么以及如何提高速度。

然后我应该偷工减料,稍后在我的页面中添加选项卡控件,以便用户可以立即看到标题并在几秒钟后看到所有页面。代码如下:

public class MyPage : WaitingPage
{
    public MyPage(Card card)
    {
        LoadingMessage = "Loading...";
        ShowLoadingFrame = true;
        ShowLoadingMessage = true;
        ShadeBackground = true;
        WaitingOrientation = StackOrientation.Vertical;
        IsWaiting = true;

        StackLayout stackPage = new StackLayout() {
            BackgroundColor = Color.FromHex("#fff"),
            Children = {
                ShowHeader(card),
            }
        };
        Content = stackPage;

        Task.Yield();
        Task.Run(async () => {
            Content = await ShowDetails(card);
        });

        IsWaiting = false;
    }
}

我尝试了不同的方法来添加内容,await ShowDetails(card);但没有任何反应。await ShowDetails(card);除非被执行,否则内容基本上不会改变。我发现Task.Yield();(您可以等待页面呈现并显示然后继续)但在这种情况下不起作用。而且WaitingPage也不显示消息。

有什么建议或帮助吗?先感谢您

4

0 回答 0