zoukankan      html  css  js  c++  java
  • DataGrid 显示选中的item

    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 );
                    }
                }
            }
      

  • 相关阅读:
    textdecoration、textdecorationcolor、textdecorationline、textdecorationstyle属性
    深入解读Promise对象
    如何将WCF服务发布到IIS中去VS2010版
    iPhone 常用面试题目
    WCF入门简单教程(图文) VS2010版
    VS2010中如何创建一个WCF
    ObjC: 使用KVO
    iOS面试重点问题
    iOS开发面试题
    《Iphone开发基础教程》第五章 自动旋转和调整大小
  • 原文地址:https://www.cnblogs.com/muzizongheng/p/3169431.html
Copyright © 2011-2022 走看看