在使用错误之前,项目集合必须为空

时间:2012-01-11 21:39:46

标签: windows-phone-7 wpf-controls

我使用在wp7中提供MultiSelectionList控件的工具包,我试图使用C#中的属性ItemsSource将名称绑定到multiselectItem。

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
   <StackPanel>
      <TextBlock Text="Please select the satellites from the list:-" />
      <toolkit:MultiselectList Name="multiSelectionList">
          <toolkit:MultiselectItem Content="{Binding Name}" />
      </toolkit:MultiselectList>
   </StackPanel>
 </Grid>

但我收到了这个错误。

Items collection must be empty before using ItemsSource.

我在应用程序的其他部分测试了该服务,它没有任何问题。

请告诉我。谢谢,

1 个答案:

答案 0 :(得分:1)

当您执行以下操作时,您正在向MultiSelectList添加项目:

<toolkit:MultiselectItem Content="{Binding Name}" />

当你分配ItemsSource时,我假设你在某个地方的代码隐藏中进行了操作,列表中已经存在一个项目(上面的那个)。这就是错误被抛出的原因。您可以在设置源之前手动清除列表,但这不一定被视为良好做法。您可以做的是创建DataTemplate,而不是MultiSelectItem的实际实例。我不熟悉这个控件,但请尝试:

<toolkit:MultiselectList Name="multiSelectionList">
  <toolkit:MultiSelectList.ItemTemplate>
     <DataTemplate>
         <toolkit:MultiselectItem Content="{Binding Name}" />
     </DataTemplate>
  </toolkit:MultiSelectList.ItemTemplate>
</toolkit:MultiselectList>