• wpf datagrid row的命中测试


    1. 添加鼠标左键处理

    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;
                }
            }
    https://muzizongheng.blog.csdn.net/
  • 相关阅读:
    APP测试点总结
    总结了一些指针易出错的常见问题(四)
    总结了一些指针易出错的常见问题(三)
    总结了一些指针易出错的常见问题(二)
    C++/C头文件 .h和 .c
    今天研究了一下手机通信录管理系统(C语言)
    Android软件测试Monkey测试工具
    nio之netty3的应用
    java io之管道流
    java nio之Buffer
  • 原文地址:https://www.cnblogs.com/muzizongheng/p/3167257.html
Copyright © 2020-2023  润新知