WPF用datagrid,双击事件无响应,求大神帮忙

dillon00072002 2014-08-01 10:43:33
WPF程序,用到了一个datagrid,如果里边数据条数比较多,双击一条的时候,如果快速点两下鼠标的话,断点看双击事件根本不触发,需要很慢的速度双击才能触发。感觉很奇怪,自己怎么试都搞不好,贴一下代码
                            <DataGrid
ItemsSource="{Binding Path=MessageList, Mode=TwoWay}"
IsReadOnly="True"
AutoGenerateColumns="False"
CanUserResizeColumns="False"
Name="datagridMessage2"
GotFocus="datagridMessage_selected"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling"
SelectedItem="{Binding SelectedMessage, Mode=TwoWay}"
HorizontalGridLinesBrush="White"
VerticalGridLinesBrush="Transparent"
EnableRowVirtualization="True"
PreviewMouseRightButtonDown="DatagridMessage_OnPreviewMouseRightButtonDown"
AlternationCount="2" HeadersVisibility="Column"
MouseDoubleClick="DataGrid_MouseDoubleClick"
FontSize="{StaticResource RowFontSize}" CellStyle="{StaticResource MessageDataGridCell}">
<DataGrid.Columns>
<DataGridTemplateColumn Width="50" CanUserResize="False">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image Margin="5 0 0 0" Source="/Image\Msg\message.png" Style="{DynamicResource GroupStatusDetail}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Style="{StaticResource GroupStatusDetail}" Source="{Binding ShowStatus,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource statusToPicConverter},ConverterParameter=ShowStatus }" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="120" CanUserResize="False">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image Margin="35 0 0 0" Source="/Image\Msg\messagePerson.png" Style="{DynamicResource GroupStatusDetail}" ToolTip="成员"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Sender.Sign}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

<DataGridTextColumn Header="消息类型" Binding="{Binding Type,Mode=OneWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource sourceObjectToTargetObjectConverter}, ConverterParameter=Type}" Width="75"/>
<DataGridTextColumn Header="状态" Binding="{Binding status,Mode=OneWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource sourceObjectToTargetObjectConverter}, ConverterParameter=MessageStatus}" Width="70"/>
<DataGridTextColumn Header="时间" Binding="{Binding Time,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource timesToTimeString},ConverterParameter=MessageSendTime}" Width="145"/>
<DataGridTextColumn Header="内容" Binding="{Binding Text,Mode=OneWay,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource stringToSimpleStringConverter},ConverterParameter=MessageText}" Width="*"/>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="ContextMenu" Value="{DynamicResource ContextMenuMsg}"/>
<Setter Property="Height" Value="30"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0" >
<Setter Property="Background" Value="#E2F0F3" />
</Trigger>
<Trigger Property="AlternationIndex" Value="1" >
<Setter Property="Background" Value="#F7F7F7" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightGray"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="Black"/>
<Setter Property="Background" Value="#AEE2B2"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
...全文
250 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dillon00072002 2014-08-01
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
IsReadOnly="True" 这个怎么能为True,你还能点击?? 把你的虚拟化 功能去掉试试。
果然是虚拟化那块儿,点个赞
exception92 2014-08-01
  • 打赏
  • 举报
回复
IsReadOnly="True" 这个怎么能为True,你还能点击?? 把你的虚拟化 功能去掉试试。

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧