2013-08-29 5 views
1

У меня есть DataGrid, и я хочу показать другую форму, когда строка дважды нажата, но это событие срабатывает, даже если я прокручиваю datagrid. Как заставить его срабатывать только при двойном щелчке строки?Прокрутка Datagrid стреляющая мышь с двойным щелчком мыши

Я использую шаблон MVVM.

<DataGrid Name="dgScopeRecords" Grid.Row="1" Grid.ColumnSpan="3" IsReadOnly="True" ItemsSource="{Binding Model.TableScopeRecords}" SelectedIndex="{Binding Model.SelectedIndex}" Margin="0,10,0,0" AutoGenerateColumns="False" SelectionMode="Single"> 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="MouseDoubleClick"> 
      <i:InvokeCommandAction Command="{Binding ViewScopeRecordCommand}"/> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 

    <DataGrid.Resources> 
     <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#dca188"/> 
    </DataGrid.Resources> 

    <DataGrid.Columns> 
     <DataGridTextColumn Header="{x:Static Resources:Translations.RecordsInspection_ColumnScope}" Binding="{Binding Scope.ScopeName}" Width="250"/> 
     <DataGridTextColumn Header="{x:Static Resources:Translations.RecordsInspection_ColumnScopeType}" Binding="{Binding Scope.ScopeType.ScopeTypeName}" Width="100"/> 
    </DataGrid.Columns> 
</DataGrid> 
+0

Посмотрите на этот вопрос: http://stackoverflow.com/questions/6123748/show-rowdetails-on-double-click-in-wpf-datagrid – Vladimir

ответ

0

Я могу только предположить, что ваш Interaction.Triggers вызывает вашу проблему. Я принимаю, что вы хотите «преобразовать» это событие в Command, но если вместо этого вы используете стандартный обработчик MouseDoubleClick (только временно), вы увидите, что прокрутка не вообще не запускает обработчик.

Вы можете преобразовать это событие в Command по своему усмотрению Attached Property. Их относительно просто создать, и вы можете узнать, как это сделать на странице Attached Properties Overview в MSDN.

+0

Это неверно. Это то же поведение, потому что обработчик doubleclick предназначен для всего datagrid. –