iOS 中 DataTemplateSelector 中的 Xamarin.Forms OnSelectTemplate() 从未调用过,在 Android 上运行良好

问题描述

这是选择器:

 public MyDataTemplateSelector()
    {
        Layout1 = new DataTemplate(typeof(CV_CarouselView_ShowPics));
        Layout2 = new DataTemplate(typeof(CV_VideoPlayer));
    }

    protected override DataTemplate OnSelectTemplate(object item,BindableObject container)
    {
        FullAdType cell = (FullAdType)item;

        if(cell != null && cell.hasVideo )
        {

            return Layout2; // get video layout 

        }

        else
            return Layout1;

    }

像这样从 XAML 膨胀:

<ContentPage.Resources>
    <ResourceDictionary>
        <local:MyDataTemplateSelector x:Key="templateSelector"></local:MyDataTemplateSelector>
    </ResourceDictionary>
</ContentPage.Resources>

            <Grid Grid.Row="0"   >

                <abstractions:CarouselViewControl VerticalOptions="Start"  x:Name="carouselview" ItemTemplate="{StaticResource templateSelector}" />

            </Grid>

虽然在 Android 上 OnSelectTemplate 在类膨胀后立即被调用,但在 Android 上永远不会调用它,因此没有模板可见。

怎么会这样?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)