DataGrid,将ScrollViewer重置为左侧

时间:2011-09-20 22:59:17

标签: c# wpf datagrid scrollviewer

有没有办法将DataGrid的Horizo​​ntal ScrollViewer重置为左侧的所有方式?我把它连接到另一个控件,其中图表得到刷新。如果关联的DataGrid也被重置并且左边的scrollViewer一直都很好,那就太好了。感谢。

2 个答案:

答案 0 :(得分:0)

您无法直接访问ScrollViewer,但如果您使用snoop查看Visual Tree,则可以看到DataGridBorderScrollViewer

enter image description here

因此,要向左滚动DataGrid,您可以使用以下扩展方法(或只使用常规方法)

public static class DataGridExtensions
{
    public static void ScrollToLeft(this DataGrid dataGrid)
    {
        Border border = VisualTreeHelper.GetChild(dataGrid, 0) as Border;
        ScrollViewer scrollViewer = border.Child as ScrollViewer;
        scrollViewer.ScrollToLeftEnd();
    }
}

像这样称呼

dataGrid.ScrollToLeft();

答案 1 :(得分:0)

我使用它来确保所选行的第一个单元格可见。

    if (dataGrid.SelectedItem != null)
        dataGrid.ScrollIntoView(dataGrid.SelectedItem, dataGrid.Columns[0]);