首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在选项卡页中使用ClassId来区分它们的内容吗

我可以在选项卡页中使用ClassId来区分它们的内容吗
EN

Stack Overflow用户
提问于 2020-05-19 11:51:33
回答 1查看 29关注 0票数 0

我正尝试在TabbedPage的3个选项卡中使用相同的页面。但每个选项卡必须在列表视图中显示不同的数据。有没有办法为每个选项卡设置一个参数?

示例

代码语言:javascript
复制
    <local:Sales Title="Pending" 
                 Icon="ic_shortcut_home.png"
                 ClassId="pending"/>

    <local:Sales Title="Posted" 
                 Icon="ic_shortcut_home.png"
                 ClassId="posted"/>

    <local:Sales Title="Uploaded" 
                 Icon="ic_shortcut_home.png"
                 ClassId="uploaded"/> 

我尝试使用ClassId和Title来获取它们的差异,但在Sales类构造函数中检索ClassId时遇到了问题,有没有其他方法可以获得我想要的输出?

代码语言:javascript
复制
        public Sales()
        {
            InitializeComponent();
            BindingContext = this;
            salesCollection = new ObservableCollection<Head>();
            initLvw();
            Console.WriteLine(Title); //returns null
            Console.WriteLine(ClassId); // returns null
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-19 13:27:11

您可以在OnAppearing方法中加载数据:

代码语言:javascript
复制
protected override void OnAppearing()
{
    base.OnAppearing();

    Console.WriteLine(ClassId + "OnAppearing");

    BindingContext = this;
    salesCollection = new ObservableCollection<Head>();
    initLvw();

}

或者在构造函数中使用少量的delay加载数据:

代码语言:javascript
复制
public AboutPage()
{
    InitializeComponent();

    Task.Run(async () =>
    {
        await Task.Delay(200);
        Console.WriteLine(ClassId + "AboutPage");

        BindingContext = this;
        salesCollection = new ObservableCollection<Head>();
        initLvw();
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61882947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档