我使用在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.
我在应用程序的其他部分测试了该服务,它没有任何问题。
请告诉我。谢谢,
答案 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>