MVVM триггер сброса взаимодействия - PullRequest
3 голосов
/ 16 февраля 2012

У меня есть ListView, который мне нужен для работы в качестве цели отбрасывания. Я добавил следующий триггер

<i:Interaction.Triggers>
    <i:EventTrigger EventName="Drop">
        <i:InvokeCommandAction Command="{Binding ItemsDroppedCommand}" 
            CommandParameter="{Binding ???}"/>
    </i:EventTrigger>
</i:Interaction.Triggers>

Проблема в том, что я не знаю, как получить брошенные предметы. Что должно идти в привязке CommandParameter?

Если я выполняю обработчик удаления в коде позади, я получаю параметр DragEventArgs, который позволяет мне удалять файлы. Есть ли способ получить это?

Если это неправильный подход, пожалуйста, не стесняйтесь предлагать альтернативы

Ответы [ 2 ]

3 голосов
/ 16 февраля 2012

Передача аргументов события в Команду через привязку не поддерживается "из коробки", но может быть достигнут с помощью обходного пути .

Однако я бы хотелРекомендуется использовать поведение EventToCommand , доступное в MVVM Light , которое включает именно этот сценарий:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="Drop">
        <cmd:EventToCommand Command="{Binding ItemsDroppedCommand}"
                            PassEventArgsToCommand="True" />
    </i:EventTrigger>
</i:Interaction.Triggers>
2 голосов
/ 16 февраля 2012

, пожалуйста, посмотрите на эту ветку MVVM Передача EventArgs в качестве параметра команды

В этой ветке вы сможете решить проблему.Я надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...