c# 4.0 - How to print multiple pages in silverlight -


how print multiple pages in silverlight. have scenario in silverlight , have button click event able print contents in single page , excess content been removed im not getting next page print

this button click event

private void btnsubmitprint_click(object sender, routedeventargs e)             {                 _currentindex = 0;                   printdocument docprin = new printdocument();                   docprin.printpage += new eventhandler<printpageeventargs>(docprin_printpage);                    string documentname = "balaji";                      docprin.print(documentname);               }      //i combine list single string using linq               void docprin_printpage(object sender, printpageeventargs e)             {                 string delimeter = "\n";                      var checkval = listofpagecomments.select(i => i.comment.insert(100, environment.newline));//this linq operation                var listofpagecommentsascending = n in listofpagecomments orderby n.date descending select n;       var commentslinebreaks = listofpagecommentsascending.select(conmmentss =>                    {                        var retur = conmmentss;                        if (conmmentss.comment.length > 100)                        {                            ienumerable<string> spllitingvaluetonewline = (enumerable.range(0, conmmentss.comment.length / 100).select(j => conmmentss.comment.substring(j * 100, 100)));                            string rejoininglinestosingle = string.join(" \n ", spllitingvaluetonewline);                            conmmentss.comment = rejoininglinestosingle;                            return conmmentss;                        }                        return conmmentss;                    });                 var delimitedcomments = commentslinebreaks.select(i => i.date + "\n" + i.comment).aggregate((i, j) => + delimeter + j);                  string printcomments = string.join(delimeter, delimitedcomments);                 list<string> = (enumerable.range(0, printcomments.length / 800).select(j => printcomments.substring(j * 800, 800))).tolist();   //after getting value of string split them list                  while (_currentindex < get.count())//looping condition print multiple pages                 {                     var pageroot = new canvas();                     e.pagevisual = pageroot;                      _currenttop = pagemargin;                     _availablespace = e.printablearea.height - pagemargin * 2;                     //  var txt = new textblock { text = printcomments };                      var txt = new textblock { text = get[_currentindex].tostring() };                       if (rowheight > _availablespace)                     {                          e.hasmorepages = true;                         break;                       }                       txt.setvalue(canvas.topproperty, _currenttop);                     txt.setvalue(canvas.leftproperty, pagemargin);                       _currenttop += rowheight;                     _availablespace -= rowheight;                     pageroot.children.add(txt);                     _currentindex++;                  }             } 

here , here 2 blog posts describe multipage printing silverlight in more detail.


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -