在顶部显示ListView SelectedItems

时间:2012-04-03 07:37:27

标签: wpf silverlight mvvm

我在寻找什么:

  1. 所有选定的项目将显示在顶部。
  2. 问题:

    • 我有一个自定义增量搜索控件,用于填充增量模式的下拉列表。在下拉弹出窗口中,我有一个ListView,其ItemsSource设置为未知类型的集合。 SelectionMode为多个

    • ItemsSource是IsReadOnly

    无论何时进行选择,我都需要一个解决方案来将SelectedItem移动到顶部。

1 个答案:

答案 0 :(得分:0)

我解决这个问题,有各种方法。

1)在listview中实现selectedindexchanged事件。调用事件时,检查所有项目并将所选项目移到顶部。

2)创建一个继承自例如的ObservableCollection。将列表视图的selected属性绑定到集合(checkobject)中对象的bool属性。当bool属性(checkobject)改变时(使用propertychanged事件),将对象移到前面(在bool = true的后面)。这样,您可以将实现保留在集合类中。

3)如果集合是只读的,则可以使用bool属性进行排序。但是,这意味着需要知道对象

4)如果集合未知,可以使用自定义排序。一个引用是"Apply a custom sort rule to a wpf datagrid"