私は 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;
}
}
私が得られないのは、dataPager が 4 ページに達したときに (sender as DataPager).GetVisualDescendants() の結果ビューが結果を返さないのはなぜですか? ご覧のとおり、視覚的な子孫を取得するために Visible であるかどうかを既に確認しており、このコードは pageindexchanged イベントにあるため、datapager が読み込まれるとすぐに起動します。これについて何か考えはありますか?どんな助けでも大歓迎です。ありがとう!