Потеря списка ListView перед началом перетаскивания - PullRequest
3 голосов
/ 08 октября 2010

Я получил ListView, как показано ниже. Пользователь должен выбрать некоторые элементы и перетащить их в другое место. Это не требует CTRL + клик, что хорошо. но после того, как все выделение сделано, когда я пытаюсь начать перетаскивание, щелчок левой кнопкой мыши отменяет выбор элемента, по которому щелкнули. Как я могу сделать это вести себя как проводник Windows, поэтому выбор не меняется, когда я начинаю перетаскивать мышью. Я потратил немало времени, попробовал некоторые заявленные решения, например, подклассы ListView и ListViewItem и возиться с PreviewMouseLeftButtonDown, но ничего не помогло ТИА!

<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 Ответ

1 голос
/ 08 октября 2010

Я только что наткнулся на ответ здесь , и работает хорошо.Огромное спасибо всем ребятам!

...