在WPF中访问DataGrid的ScrollView属性

Dav*_*lle 4 vb.net wpf datagrid

是否可以访问水平偏移量,这是我在datagrid的属性列表中找不到的?

谢谢

Kla*_*s78 6

在XAML中

 <DataGrid Name="dataGrid1" ..... />
Run Code Online (Sandbox Code Playgroud)

如果要访问Horizo​​ntalOffset,则需要访问Datagrid中包含的ScrollViewer

访问ScrollViewer的一种可能方法是

for (int i = 0; i < VisualTreeHelper.GetChildrenCount(dataGrid1); i++)
{
       if (VisualTreeHelper.GetChild(dataGrid1, i) is ScrollViewer)
    {
              ScrollViewer scroll =
        (ScrollViewer)(VisualTreeHelper.GetChild(dataGrid1, i));
                           Console.WriteLine(scroll.HorizontalOffset);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,它scroll.HorizontalOffset是只读的

  • 这不是那个,但足够接近.Datagrid确实有一个可视子,但它是一个边框,而后者又有ScrollViewer,因此使用了一个双循环,它现在可以工作了. (2认同)