您可以在 Silverlight DataGrid 中将 ScrollIntoView() 与 PagedCollectionView 一起使用吗?

2024-03-04

是否可以在 Silverlight 中滚动到特定行(按对象标识)DataGrid http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(VS.95).aspx有一个ItemsSource http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.itemssource(v=VS.95).aspx这是一个PagedCollectionView http://msdn.microsoft.com/en-us/library/system.windows.data.pagedcollectionview(VS.95).aspx.

我正在加载按日期/状态等分组的订单列表。我需要能够滚动到特定订单。

 var pcv = new PagedCollectionView(e.Result.Orders);
 gridOrders.ItemsSource = pcv;

很遗憾,ScrollIntoView(order) http://msdn.microsoft.com/en-us/library/cc673083(VS.95).aspx不起作用,因为PagedCollectionView http://msdn.microsoft.com/en-us/library/system.windows.data.pagedcollectionview(VS.95).aspx.

MSDN 上有关 DataGrid 的文章 http://msdn.microsoft.com/en-us/library/dd833072(VS.95).aspx表明可以滚动到某个组PagedCollectionView http://msdn.microsoft.com/en-us/library/system.windows.data.pagedcollectionview(VS.95).aspx,但这并没有多大用处。

  foreach (CollectionViewGroup group in pcv.Groups)
  {
       dataGrid1.ScrollIntoView(group, null);
       dataGrid1.CollapseRowGroup(group, true);
  }

有没有办法做到这一点 ?


是的,当项目源是一个时,可以将项目滚动到视图中PagedCollectionView http://msdn.microsoft.com/en-us/library/system.windows.data.pagedcollectionview(VS.95).aspx。我使用您描述的组滚动方法,并将当前选定的项目滚动到视图中。为此,我有一个辅助方法,它使用调度程序来调用操作,如下所示:

private void ScrollCurrentSelectionIntoView()
{
    this.dataGrid.Dispatcher.BeginInvoke(() =>
    {
        this.dataGrid.ScrollIntoView(
            this.dataGrid.SelectedItem,
            this.dataGrid.CurrentColumn);
    });
}

I used BeginInvoke http://msdn.microsoft.com/en-us/library/cc190259(VS.95).aspx因为否则的话,调用ScrollIntoView http://msdn.microsoft.com/en-us/library/cc673083(VS.95).aspx当直接从事件处理程序调用时会失败(大概是因为DataGrid http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(VS.95).aspx没有正确更新正在处理的事件的状态)。此方法可确保当前事件处理在调用滚动之前正确完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您可以在 Silverlight DataGrid 中将 ScrollIntoView() 与 PagedCollectionView 一起使用吗? 的相关文章

随机推荐

  • 在java中创建线程在后台运行

    我想从我的主 java 程序中生成一个 Java 线程 并且该线程应该单独执行 而不会干扰主程序 应该是这样的 用户启动的主程序 做一些业务工作 应该创建一个可以处理后台进程的新线程 一旦创建了线程 主程序就不应该等到生成的线程完成 其实应
  • 在批处理文件中查找/替换文本时如何处理&符号?

    我有以下批处理文件来查找并删除文本文件中的字符串 文本文件将采用以下格式 079754 Billing Business Adv E MyDirectory 079754 35931 Billing Business Adv pdf Com
  • 如何实现虚拟静态属性?

    据我所知C 不支持虚拟静态属性 如何实现这样的行为C 我想实现基类的所有派生类都必须重写静态属性 获取派生类型 我想访问一个名为的静态属性Identifier Type t typeof DerivedClass var identifie
  • OpenGL 上下文丢失后如何重新加载 libgdx 非托管纹理

    我正在通过网络下载图像 并使用以下命令将它们作为图像演员添加到我的 libgdx UI 中 Pixmap pm new Pixmap data 0 data length Texture t new Texture pm TextureRe
  • FirebaseRecyclerPagingAdapter - 按日期排序列表

    在我的应用程序中 我想显示保存在实时数据库中的新闻列表 每个新闻项目都有一个以毫秒为单位的时间戳 以指示新闻的日期 我想首先使用 FirebaseRecyclerPagingAdapter 在 RecyclerView 上显示最新新闻 这个
  • 合并两个图并在 R igraph 中添加边权重

    我试图将两个图与相同的节点组合起来 但这样新的图边权重是两个原始图的总和 但当然希望解决方案扩展到 N 个图 g1 lt graph empty directed FALSE vertices letters 1 2 g1 lt g1 ed
  • 在 asp.net mvc 中单击按钮动态添加控件

    我正在创建一个 asp net MVC 应用程序 我想在其中提供动态添加控件的功能 我有一个表单 其中有两个用于名字和姓氏的文本框 它们用作单个控件 现在用户可以添加任意数量的这组控件 我可以使用 java 脚本在页面上添加这些控件 但我不
  • flutter :不支持的操作:无法添加到不可修改的列表

    我在 StatelessWidget 中有一个 ListView 它有项目 每个项目都包含一个复选框 当有人检查某个项目时 我希望 ListView 将其作为参数发送到另一个页面 但是当我这样做时 它给了我这个错误 I flutter 70
  • WebLogic“超出规定的内容长度”错误

    我有一个 Servlet 过滤器 它在 WebLogic 10 0 中生成 超出规定的内容长度 错误 如果有任何解决此问题的建议 我将不胜感激 详情如下 servlet 过滤器调整图像大小 将 FileInputStream 的内容 从磁盘
  • 如何使用 JGit 检查 Git 克隆是否已完成

    我学习 git 并使用 JGit 从 java 代码访问 Git 存储库 Git 默认情况下不允许克隆到非空目录 我们如何确定本地计算机中的特定 git 存储库已经完成了 git 克隆 以便我们随后只能执行 Git pull 操作 目前我正
  • JavaScript 中的 child 和 childNode 有什么区别?

    我发现自己使用 JavaScript 并且遇到了childNodes and children特性 我想知道它们之间有什么区别 还有一个比另一个更受青睐吗 Understand that children https dom spec wh
  • 使用 JS 消费 Rails send_data 响应

    我有一个连接到 Rails API 后端的 VueJS 前端 在其中一个端点中 我正在使用邪恶 PDF https github com mileszs wicked pdf生成 PDF 当我在浏览器中打开 URL 本身时 PDF 可以正常
  • 如何在Android中创建圆形ImageView? [复制]

    这个问题在这里已经有答案了 我怎样才能创建一个圆角ImageView在安卓中 我已经尝试过以下代码 但它运行不正常 Code Bitmap circleBitmap Bitmap createBitmap bitmap getWidth b
  • Rails Devise - 传递 URL 进行登录

    有没有办法让我将 URL 传递到 Devise 登录页面 以便当用户登录时 他 她被重定向回该 URL 就像是 login passthru somethingawesome 或者设置一个会话变量更好 有一个方法来存储重定向位置和一个方法来
  • 在 docker 中与 .net core 建立 DB2 连接时无法加载 DLL 'libdb2.so'

    如何使 libdb2 so 文件对 DB2 包可见 我已经验证该包可以在 Ubuntu 中运行 但无法使其在 Docker 中运行 Dockerfile FROM microsoft aspnetcore 1 0 assume the bu
  • 将标识列添加到 SQL Server 2008 中的视图

    这是我的观点 Create View MyView as Select col1 col2 col3 From Table1 UnionAll Select col1 col2 col3 From Table2 我需要添加一个名为的新列Id
  • Git 不会添加任何文件 - 只是一个空目录

    我一直在 Xcode 中开发 iPhone 项目 并决定将其放在 github 上 我在 github 上创建了一个存储库 克隆了它 并将所有文件移动到该目录中 然后我尝试 git add Directory 我提交并推送 发现现在仓库中唯
  • 更改 UIButton 背景颜色

    有人可以帮助我如何将按钮背景从白色更改为其他颜色 我知道如何添加图像并将其设为自定义按钮 但我不知道如何将初始按钮颜色从白色更改为另一种颜色 我们将非常感谢您的帮助 干杯 我有类似的要求 并且不想在我的应用程序包中包含其他文件 因此我编写了
  • 将具有两列的 data.frame 重塑为具有数据的多列 (R)

    这是一个微不足道的问题 但我到目前为止还找不到答案 我想将数据框列 年份 拆分为一组新列 每年列名称及其下方的后续数据 Year FQ 1975 3 156 1975 8 980 1977 10 304 1977 7 861 1979 4
  • 您可以在 Silverlight DataGrid 中将 ScrollIntoView() 与 PagedCollectionView 一起使用吗?

    是否可以在 Silverlight 中滚动到特定行 按对象标识 DataGrid http msdn microsoft com en us library system windows controls datagrid VS 95 as