博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataGrid 显示选中的item
阅读量:5263 次
发布时间:2019-06-14

本文共 1417 字,大约阅读时间需要 4 分钟。

<?xml version="1.0" encoding="UTF-8"?> Datagrid或者listview 中想要把相应的项 滚动到当前可见的位置, 必须满足2个条件:
1) 必须去掉虚拟化
     
VirtualizingStackPanel.IsVirtualizing
="False"
2) 调用ScrollToView
     
 
//Bring current selected item to view
           
if
(
null
!=
grdStudyList
.
SelectedItem
&& 0 !=
grdStudyList
.
Columns
.
Count
)
            {
               
//first focus the grid
               
grdStudyList
.
Focus
();
               
//then create a new cell info, with the item we wish to edit and the column number of the cell we want in edit mode
               
DataGridCellInfo
cellInfo
=
new
DataGridCellInfo
(
grdStudyList
.
SelectedItem
,
grdStudyList
.
Columns
[0]);
               
//set the cell to be the active one
               
grdStudyList
.
CurrentCell
=
cellInfo
;
               
//scroll the item into view
               
grdStudyList
.
ScrollIntoView
(
grdStudyList
.
SelectedItem
);    
            }         
3)如果不去掉虚拟化, 
VirtualizingStackPanel.IsVirtualizing  
="True"
则, 调用如下语句:
  private void ScrollItemInSelector (Selector dtg, object needScrollItem)
        {
            //Bring current selected item to view
            if (null == dtg && null != needScrollItem )
            {
                //first focus the grid
                dtg.Focus ();
                dtg.SelectedItem = needScrollItem;
                dtg.Items .MoveCurrentTo( needScrollItem);
                ScrollViewer scv = FindVisualChild< ScrollViewer>(dtg );
                if (null != scv
                    && ( dtg.Items .CurrentPosition < scv.VerticalOffset - scv. ViewportHeight || dtg.Items .CurrentPosition > scv.VerticalOffset + scv. ViewportHeight)
                    )
                {
                    scv.ScrollToVerticalOffset (dtg. Items.CurrentPosition );
                }
            }
        }
  

转载于:https://www.cnblogs.com/muzizongheng/p/3169431.html

你可能感兴趣的文章
hdu 3938 并查集
查看>>
instanceof
查看>>
BZOJ 题目1036: [ZJOI2008]树的统计Count(Link Cut Tree,改动点权求两个最大值和最大值)...
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
2015/8/4 告别飞思卡尔,抛下包袱上路
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
C# GC 垃圾回收机制
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>