我阅读了在 WindowsPhoneGeek 第 1 部分第 2 部分中使用 MultiselectList 的示例
当我实现 MultiselectList 的 SelectAll 和 UnSelectAll 函数时,我发现如果项目数超过一定限制,并不是 MultiselectList 中的所有项目都正确选择/取消选择。以下代码中的某些项目不会进入 if 部分
DependencyObject visualItem = itemContainerGenerator.ContainerFromItem(pizzaOption);
MultiselectItem multiselectItem = visualItem as MultiselectItem;
if (multiselectItem != null)
{
// NOTE: this will also add an item to the SelectedItems collection
multiselectItem.IsSelected = selected;
}
我想这是因为当时并不是所有的 multiselectItem 都显示在 UI 中。但我确实需要 SelectAll 来选择 MultiselectList 中的所有项目,而不仅仅是 UI 中的项目。我能做些什么?我一直在考虑将 IsSelected 属性绑定到 viewmodel 作为解决方法,但我尝试了以下代码并在解析该页面的 xaml 时出现异常。
<toolkit:MultiselectList.ItemContainerStyle>
<Style TargetType="toolkit:MultiselectItem">
<Setter Property="HintPanelHeight" Value="75"/>
<Setter Property="IsSelected" Value="{Binding IsMarked, Mode=TwoWay}"/>
</Style>
</toolkit:MultiselectList.ItemContainerStyle>
请帮助我..提前谢谢你:D