ListView在开始拖动之前丢失选择

时间:2010-10-08 04:09:33

标签: wpf wpf-controls

我有一个ListView,如下所示。用户应该选择一些项目并将dragDrop选择到其他地方。这不需要CTRL +点击这是好的。但是在完成所有选择之后,当我尝试开始拖动时,左键单击取消选择被点击的项目。我怎样才能使这个行为像Windows资源管理器一样,所以当我用鼠标开始拖动时,选择不会改变。我浪费了相当多的时间,尝试了一些声称的解决方案,就像一个是ListView和ListViewItem的子类,并搞乱了PreviewMouseLeftButtonDown,但没有任何对我有用。 TIA!

<ListView SelectionMode="Multiple" Grid.Column="1" >
        <ListView.View>
            <GridView>
                <GridViewColumn Width="25">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox IsChecked="{Binding Path=IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType=ListViewItem, AncestorLevel=1}}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Width="200" />
            </GridView>
        </ListView.View>
        <ListView.Items>
            <ListViewItem>1 - The one and only</ListViewItem>
            <ListViewItem>2 - The second and only</ListViewItem>
            <ListViewItem>3 - The third and only</ListViewItem>
            <ListViewItem>4 - The 4th and only</ListViewItem>
            <ListViewItem>5 - The 5th and only</ListViewItem>
            <ListViewItem>6 - The 6ht and only</ListViewItem>
        </ListView.Items>
</ListView>

1 个答案:

答案 0 :(得分:1)

我只是碰到了答案here,并且效果很好。非常感谢那里的所有人!