我有一个 DataPager,一旦它填充了页面,它就会抛出一个 nullreferenceexception。这有点奇怪,因为当我只有很少或没有数据时,它不会抛出任何东西。我的代码在这里:
private void dataPager_PageIndexChanged(object sender, System.EventArgs e)
{
if ((sender as DataPager).Visibility == System.Windows.Visibility.Visible)
{
if ((sender as DataPager).PageIndex == (sender as DataPager).PageCount - 1)
{
(sender as DataPager).GetVisualDescendants().OfType<Button>().Where(b => b.Name == "NextPageButton").SingleOrDefault().IsEnabled = false;
}
else
(sender as DataPager).GetVisualDescendants().OfType<Button>().Where(b => b.Name == "NextPageButton").SingleOrDefault().IsEnabled = true;
}
}
我不明白为什么 (sender as DataPager).GetVisualDescendants() 的结果视图在 dataPager 达到 4 页时没有产生任何结果?正如你所看到的,我已经检查了它是否是 Visible 用于获取视觉后代,并且此代码在 pageindexchanged 事件上,因此它会在加载数据分页器时立即触发。对这个有什么想法吗?任何帮助将非常感激。谢谢!