我的 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
也不显示消息。
有什么建议或帮助吗?先感谢您