相关疑难解决方法(0)

DataTemplateSelector CreateContent 抛出 InvalidOperationException

我正在制作一个自定义的水平滚动 ListView 类型控件,我遇到了一个我无法解释的问题,而且我不能 100% 确定问题是否与我的代码有关,除非我误解了一些东西.

我已将问题提炼为最简单的形式,可在https://github.com/sparkeh9/XamarinFormsListViewIssue 获得

所以,我有一个使用非常简单的数据模板选择器的 Horizo​​ntalListView 控件(没有逻辑,返回单个数据模板)

请参阅 XAML 屏幕截图

请参阅模板选择器屏幕截图

我的问题是,当我使用模板选择器时,在调用ItemTemplateSelector.CreateContent()以开始基于模板生成 UI 控件时,它会引发异常请参阅异常屏幕截图,其中声称 LoadTemplate 属性不应为空。我查看了基类,发现这个属性Func<object>是私有的,只能通过调用特定的构造函数从外部设置。

如果我在 XAML 中指定文字项模板,则一切都按预期工作,例如:

<controls:HorizontalListView.ItemTemplate>
    <DataTemplate>
        <Label Text="test"></Label>
    </DataTemplate>
</controls:HorizontalListView.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

编辑:回答了我自己的问题

c# xaml mvvm xamarin xamarin.forms

2
推荐指数
1
解决办法
1635
查看次数

标签 统计

c# ×1

mvvm ×1

xamarin ×1

xamarin.forms ×1

xaml ×1