1
我正在使用Controls.Toolkit的MultiselectList。我用它作为最喜欢的选择器。我有一个包含项目的列表,我选择了收藏夹,下次打开选择栏时,我希望看到我的收藏夹已被选中。当IsSelectionEnabledChanged
事件发生时,如果IsSelectionEnabled
为真(选择栏已打开),我尝试将我的收藏夹添加到列表的SelectedItems
。下面的代码片段:更新MultiselectList选择的项目
private void multiSelectList_IsSelectionEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (multiSelectList.IsSelectionEnabled)
{
foreach (var favourite in FavouritesList)
{
multiSelectList.SelectedItems.Add(multiSelectList.Items.Where(i => ((MyModel)i).id == favourite.id).FirstOrDefault());
}
}
}
我已经测试了这个解决方案,我发现,在布局不更新,这就是为什么我没有选择如看到的项目的整个列表(但他们)。甚至不是列表中的实际可见项目。 滚动一下并回滚后,出现选择!我试图以编程方式使用multiSelectList.UpdateLayout()
方法,但它没有解决它。
我不知道它是一个可视化问题还是一个CheckBox绑定问题(选择使用CheckBox的一面)。
非常好,谢谢! – Lgn 2014-11-03 22:27:08