有谁知道以编程方式将 WPF DataGrid (.NET 4) 滚动到最后一行的可靠方法?
我知道ScrollIntoView(Items[Items.Count-1])
,但这仅在项目是唯一的情况下才有效。
例如,考虑以下 DataGrid,它显示所有已安装的文化,然后是所有已安装的文化:
var cultures = System.Globalization.CultureInfo.GetCultures (System.Globalization.CultureTypes.AllCultures);
var timesTwo = cultures.Concat (cultures).ToArray();
var grid = new DataGrid { ItemsSource = timesTwo };
这个网格如何以编程方式滚动到最后一行?
PS 使用 ScrollIntoView 的另一个问题是,如果网格本身位于可滚动容器中(例如,在另一个网格内),则 ScrollIntoView 不仅会滚动它自己的网格,还会滚动外部网格,以便请求的元素在屏幕上可见。这在某些情况下可能是有益的,但在其他情况下肯定不是。