微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。