wpf datagrid row的命中测试
原创muzizongheng 博主文章分类:datagrid ©著作权
©著作权归作者所有:来自51CTO博客作者muzizongheng的原创作品,请联系作者获取转载授权,否则将追究法律责任
AddHandler(DataGrid.MouseLeftButtonDownEvent, new RoutedEventHandler(grdStudyList_MouseLeftButtonDown), true);
2. 命中测试
private void grdStudyList_MouseLeftButtonDown(object sender, RoutedEventArgs e)
{
Point CurrentPosition = System.Windows.Input.Mouse.GetPosition(grdStudyList);
_hitResultsList.Clear();
VisualTreeHelper.HitTest(grdStudyList, null,
new HitTestResultCallback(DataGridHitTestResult),
new PointHitTestParameters(CurrentPosition));
if (0 >= _hitResultsList.Count)
{
return;
}
var element = _hitResultsList.Where(y => y.GetType() == typeof(DataGridHeaderBorder)
|| y.GetType() == typeof(ScrollViewer));
bool isGridCell = true;
foreach (var x in element)
{
isGridCell = false;
}
if (!isGridCell)
{
return;
}
//后续逻辑处理
}
//
private List<DependencyObject> _hitResultsList = new List<DependencyObject>();
public HitTestResultBehavior DataGridHitTestResult(HitTestResult result)
{
// Set the behavior to return visuals at all z-order levels.
if (3 > _hitResultsList.Count)
{
_hitResultsList.Add(result.VisualHit);
return HitTestResultBehavior.Continue;
}
else
{
return HitTestResultBehavior.Stop;
}
}
下一篇:C# Unit Test 备注
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
psql窗口函数 ROW_NUMBER的应用
psql窗口函数的使用
窗口函数 一对多 表结构 -
WPF 命中测试HitTest
获取不规则图片的点击事件,如果一个Canvas中,有很多图形,比如下图:矩形,菱形等。如果每个图形都加一个点
xml microsoft 点击事件 sed 示例代码 -
wpf 后台开启datagrid虚拟化 wpf datagrid模板
WPF 自定义DataGrid控件样式样式一:样式代码:<!--DataGrid样式--> <Style TargetType="DataGrid"> <!--网格线颜色--> <Setter Property="CanUserResizeColumns" Value="false"/>
wpf 后台开启datagrid虚拟化 wpf c# 开发语言 Powered by 金山文档 -
[No0000F0]DataGrid一行Row添加ToolTip,wpf
1. 2.
xml microsoft 微信 i++ 发送邮件