2012-03-29 2 views
3

У меня есть WPF XamDataGrid (я использую шаблон MVVM, ниже xaml), и мне нужно, чтобы он отображал данные записи в другом окне, когда пользователь дважды щелкает по строке. У меня есть команда, которая выполняет эту работу, но я не знаю, как ее запускать, как с кнопками. Я хочу, чтобы иметь возможность выполнить команду, когда пользователь дважды щелкает строку, поэтому мне нужно отправить строку с двойным щелчком (или ее идентификатор) в качестве параметра в команду. Является ли это возможным?Как получить команду WPF для выполнения по двойному щелчку строки файла Datagrid Infragistics WPF?

<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> 

ответ

0

Вы можете создать поведение, чтобы добавить привязку между вашей командой ViewModel и событием Double Click для Grid.

Смотрите следующую запись для получения дополнительной информации:

http://blogs.infragistics.com/forums/p/67749/343013.aspx#343013

5

Я тоже использовать 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 - свойства из модели представления