private void FillPagesList()
        {
            //用页面填充列表
            for (int xx = 1; xx <= maxiPageNum; xx++)
            {
                if (xx % 2 != 0)
                {
                    //前一页即奇数页
                    AddPageToList(PageType.right, fileMedia + "/" + headerPage + xx.ToString("00") + ".jpg", xx.ToString(),
                      maxiPageNum.ToString(), true);
                }
                else
                {
                    //后一页即偶数页
                    AddPageToList(PageType.left, fileMedia + "/" + headerPage + xx.ToString("00") + ".jpg", xx.ToString(),
                      maxiPageNum.ToString(), true);
                }
            }              //移除最后一页的按钮
               jingdiantuijian.PageType.RightPage page = PageObjectList[maxiPageNum - 1] as  jingdiantuijian.PageType.RightPage;
              page.setterDisplayBtnNext(false);
            //为翻页按钮指派事件触发处理
            for (int xx = 1; xx < maxiPageNum; xx++)
            {
                if (xx % 2 != 0)
                {
                    //前一页即奇数页
                     jingdiantuijian.PageType.RightPage pp = PageObjectList[xx - 1] as  jingdiantuijian.PageType.RightPage;
                    Button btnNext = pp.getbtnNext();
                    btnNext.Click += new RoutedEventHandler(btnNext_Click);
                }
                else
                {
                    //后一页即偶数页
                     jingdiantuijian.PageType.LeftPage pp = PageObjectList[xx - 1] as  jingdiantuijian.PageType.LeftPage;
                    Button btnPrevious = pp.getbtnPrevious();
                    btnPrevious.Click += new RoutedEventHandler(btnPrevious_Click);
                }
            }            //为Book设置数据内容
            book.SetData(this);
        }        //向页面列表中添加具体页面
        private void AddPageToList(PageType pageType, string pathImage, string numPage, string numMaxiPage,
          bool showBtnYesNo)
        {
            switch (pageType)
            {
                case PageType.right:
                     jingdiantuijian.PageType.RightPage pcd = new MicroLife. jingdiantuijian.PageType.RightPage();
                    pcd.setterimgPhoto(pathImage);
                    pcd.setterPageNumber(numPage, numMaxiPage);
                    pcd.setterDisplayBtnNext(showBtnYesNo);
                    PageObjectList.Add(pcd);
                    break;
                case PageType.left:
                     jingdiantuijian.PageType.LeftPage pcg = new MicroLife. jingdiantuijian.PageType.LeftPage();
                    pcg.setterimgPhoto(pathImage);
                    pcg.setterPageNumber(numPage, numMaxiPage);
                    pcg.setterDisplayBtnPrevious(showBtnYesNo);
                    PageObjectList.Add(pcg);
                    break;
            }
        }
红色部分错误提示:未将对象引用设置到对象的实例

解决方案 »

  1.   

    PageObjectList[maxiPageNum - 1] 为空了?试试
    jingdiantuijian.PageType.RightPage page = PageObjectList[maxiPageNum - 1]==null? new jingdiantuijian.PageType.RightPage():PageObjectList[maxiPageNum - 1] as jingdiantuijian.PageType.RightPage;
      

  2.   

    要么PageObjectList[maxiPageNum - 1]为空,要么page为空,调试看看吧
      

  3.   

    jingdiantuijian.PageType.RightPage page = PageObjectList[maxiPageNum - 1] as jingdiantuijian.PageType.RightPage;PageObjectList[maxiPageNum - 1]为null了;
    或者PageObjectList[maxiPageNum - 1]不是jingdiantuijian.PageType.RightPage的类型.造成page为null了。