值不能为空参数名称:fieldType

时间:2018-07-27 17:26:02

标签: listview xamarin.forms null itemtemplate fieldtype

我有一个View类型的x:Array,并且我试图放入ListView内,如下所示: Code 然后出现此错误: Error 但是,如果我删除ItemTemplate,项目将运行: Running 拜托,我需要您的帮助,我找不到问题所在

1 个答案:

答案 0 :(得分:0)

这个答案可能为时不晚,对您没有帮助,但这是您在搜索问题后出现的第一个结果。我遇到了同样的问题,并按以下步骤解决了这个问题:

  1. 我有一个包含滑块的contentPage,在滑块中,我有一个ContentViews数组

    <telerikPrimitives:RadSlideView Grid.Row="0" Grid.Column="1" 
                                    Grid.RowSpan="2" ShowIndicators="False" 
                                    IsSwipingEnabled="False" ShowButtons="False">
        <telerikPrimitives:RadSlideView.ItemsSource>
            <x:Array Type="{x:Type ContentView}">
                <ContentView>
                    <StackLayout Padding="10,10,10,10">
                        <Label Text="Customer:" TextColor="Black" HorizontalOptions="Start" FontAttributes="Bold" />
                        <telerikInput:RadComboBox
                            ItemsSource="{Binding Source={RelativeSource AncestorType={x:Type viewmodel:EmptyViewModel}}, Path=Customers}"
                            DisplayMemberPath="Name" IsEditable="True" OpenOnFocus="False"
                            SearchMode="Contains" SearchTextPath="Name" 
                            DropDownHeight="80"
                            Placeholder="Select a customer"
                            >
                            <telerikInput:RadComboBox.ItemTemplate>
                                <DataTemplate>
                                                <telerikPrimitives:RadBorder BorderColor="#cc0000" BorderThickness="0,0,0,1">
        <StackLayout Padding="15,10,0,10">
            <telerikPrimitives:RadHighlightLabel Text="{Binding Name}" TextColor="Black"/>
        </StackLayout>
    </telerikPrimitives:RadBorder>
                                </DataTemplate>
                            </telerikInput:RadComboBox.ItemTemplate>
                        </telerikInput:RadComboBox>
                        <Button Text="next" Command="{Binding NextItemCommand, Source={RelativeSource AncestorType={x:Type telerikPrimitives:RadSlideView}}}" 
                                />
                    </StackLayout>
                </ContentView>
            </x:Array>
        </telerikPrimitives:RadSlideView.ItemsSource>
    </telerikPrimitives:RadSlideView>
    
  2. 一旦我向DataTemplate添加一些内容,问题就会出现一次。我注意到的是,如果我删除了代码并启动了我的应用程序,并在应用程序运行时添加了代码,那么它运行正常。

  3. 我的问题的解决方案是: 创建一个单独的ContentView文件,然后从ContentPage中引用它。看起来像这样:

    <telerikPrimitives:RadSlideView Grid.Row="0" Grid.Column="1" 
                                    Grid.RowSpan="2" ShowIndicators="False" 
                                    IsSwipingEnabled="False" ShowButtons="False">
        <telerikPrimitives:RadSlideView.ItemsSource>
            <x:Array Type="{x:Type ContentView}">
                <views:EmptyViewPart1/>
            </x:Array>
        </telerikPrimitives:RadSlideView.ItemsSource>
    </telerikPrimitives:RadSlideView>
    

contentView包含代码。

针对您问题的解决方案可能是相同的,您可以将视图放在单独的文件中,并使用相对绑定来访问数据。