2012-01-11 52 views
0

我使用在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. 

我在应用程序的其他部分测试了服务,并且没有问题。

请告知me.Thanks,

+0

你在哪里设置你的'MultiselectList“的ItemsSource”,如果你在代码中设置它,那么你应该有一个空的列表,但在你上面的例子将单个项目添加到列表中。我想你尝试添加一个数据模板到MultiselectList而不是一个Item,或者我错了吗? – BigL 2012-01-11 21:54:08

回答

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> 
+0

很好的答案,很快就会在XAML中忘记一件事。 :) <工具箱:MultiselectList.ItemTemplate> BigL 2012-01-11 21:58:46

+1

我想我编辑它,你发布之前的注释:)(除非我失去了一些东西。 ..?) – keyboardP 2012-01-11 22:00:26

+0

对不起,也许你不能这样工作,对我来说只是有点不寻常,我总是使用我在这里添加评论的语法。 :) – BigL 2012-01-11 22:01:11

相关问题