WPF DevExpress GridControl 设置焦点问题

在程序加载前,设置 程序的焦点在最后一行

tv.FocusedRowHandle = list_Option.Count - 1;
gridControl.SelectedItem = tv.FocusedRowHandle;

但是,加载之后,程序设置到最后一行,又不知为何,是什么再次触发事件,从而导致焦点从最后一行转到另外一行。

另外一行每次都是一样的,但是又没有规律,因为,当删除哪一行的话,重新打开,焦点又会转到其他行。

暂时解决方法

在TableView添加FocusedRowHandleChanged事件,而促发另外的事件是有规律的,第三次之后会触发焦点跳转事件。

设置一个字段count 记录触发的次数,当count=3的时候,再次设置焦点转到最后一行。

               focushandlecount++;
                if (focushandlecount == 3)
                {
                    tv.FocusedRowHandle = list_Option.Count - 1;
                    gridControl.SelectedItem = tv.FocusedRowHandle;
                    e.Handled = true;
                }

这样,可以达到设置初次打开跳转到最后一行的问题。



DevExpress GridControl 的Focus焦点触发,是由于ItemSource数据的变化而变化的,这种变化包括新绑定数据,排序等操作。

猜你喜欢

转载自blog.csdn.net/qq_28368039/article/details/80997541
今日推荐