Как получить команду WPF для выполнения при двойном щелчке строки сетки данных Infragistics WPF?
У меня есть WPF XamDataGrid (я использую шаблон MVVM, xaml ниже), и мне нужно, чтобы он отображал детали записи в другом окне, когда пользователь дважды щелкает строку. У меня есть команда, которая выполняет работу, но я не знаю, как ее запустить, как с помощью кнопок. Я хочу иметь возможность выполнять команду, когда пользователь дважды щелкает строку, поэтому мне нужно отправить строку с двойным щелчком (или ее идентификатор) в качестве параметра в команду. Является ли это возможным?
<igDP:XamDataGrid DataSource="{Binding SomeList}">
<igDP:XamDataGrid.FieldLayoutSettings>
<igDP:FieldLayoutSettings AutoGenerateFields="False"/>
</igDP:XamDataGrid.FieldLayoutSettings>
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout >
<igDP:FieldLayout.Fields>
<igDP:Field Name="ObjectId" Label="Id" Width="Auto"/>
<igDP:Field Name="Description" Label="Object Description" Width="Auto"/>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
3 ответа
Я тоже использую шаблон MVVM и пишу такие как:
<igDP:XamDataGrid ItemsSource={Binding Path=StaffList, Mode=OneWay}>
...
<igDP:XamDataGrid.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick"
Command="{Binding Path=EditStaffCommand, Mode=OneWay}"
CommandParameter="{Binding Path=DataItem}"/>
</igDP:XamDataGrid.InputBindings>
...
</igDP:XamDataGrid>
куда EditStaffCommand
а также StaffList
- свойства из модели представления
Посмотрите на поведение присоединенных команд ( http://marlongrech.wordpress.com/2008/12/13/attachedcommandbehavior-v2-aka-acb/). Они позволяют привязывать команды к событиям.
Вы можете создать поведение для добавления привязки между вашей Командой ViewModel и событием Двойного Щелчка в Сетка.
Смотрите следующий пост для получения дополнительной информации: