首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >您能在DataTemplateSelector应用程序中将参数传递给Xamarin.Forms构造函数吗?

您能在DataTemplateSelector应用程序中将参数传递给Xamarin.Forms构造函数吗?
EN

Stack Overflow用户
提问于 2019-04-04 21:47:32
回答 1查看 849关注 0票数 0

我正在开发一个Xamarin.Forms应用程序,它的ListView有5个不同的模板。我试图根据传递给构造函数的"mode“(一个int参数)来设置模板的类型。当我运行程序时,我会得到一个错误。

缺少“CampaignCellSelector”的默认构造函数

我的问题是:是否可以将参数传递给DataTempalteSelectors?如果没有,我应该采取什么方法?我已经把我的代码贴在下面了。

代码语言:javascript
运行
复制
public class CampaignCellSelector : DataTemplateSelector
{

    public DataTemplate CampaignTemplate { get; set; }
    public DataTemplate CrowdfundTemplate { get; set; }
    public DataTemplate PendingTemplate { get; set; }
    public DataTemplate NoCampaignTemplate { get; set; }
    public DataTemplate WelcomeTemplate { get; set; }

    public int status { get; set; }

    public CampaignCellSelector(int mode)
    {
        status = mode;
    }

    protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
    {


        if (status == 0)
        {

            return PendingTemplate;
        }
        else if (status == 1)
        {

            return NoCampaignTemplate;

        }
        else if (status == 2)
        {

            return WelcomeTemplate;
        }
        else
        {
         if (((Campaign)item).startDate == "")
            {
                //Console.WriteLine("point AA");
                return CampaignTemplate;
            }
            else
            {
                //Console.WriteLine("point BB");
                return CrowdfundTemplate;
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-05 01:32:38

我不认为您需要定义包含parameters.You的构造函数,只需要在创建列表视图时设置status的值。

例如

代码语言:javascript
运行
复制
var listView = new ListView {
  ItemsSource = xxx,
  ItemTemplate = new CampaignCellSelector {
    CampaignTemplate = xxx,
    CrowdfundTemplate= xxx,
    PendingTemplate = xxx,
    NoCampaignTemplate = xxx,
    WelcomeTemplate = xxx,
    status = 1
    }
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55525406

复制
相关文章

相似问题

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