Я создаю приложение Silverlight 4. Это приложение собирается напечатать содержимое ItemsControl. Этот ItemsControl использует ItemTemplate для отображения элементов, связанных с элементом управления. Всего у меня есть 500 предметов, которые связаны с контролем.
Как ни странно, когда я пытаюсь напечатать ItemsControl, он кажется обрезанным после определенного момента. Я не могу сказать, когда это будет отрезано. Я просто знаю, что это отрезано. У меня есть догадка, это как-то связано с виртуализацией. Однако я не уверен, как это преодолеть. В настоящее время я печатаю ItemsControl следующим образом:
private void printHyperlink_Click(object sender, RoutedEventArgs e)
{
PrintDocument printDocument = new PrintDocument();
printDocument.BeginPrint +=
new EventHandler<BeginPrintEventArgs>(printDocument_BeginPrint);
printDocument.PrintPage +=
new EventHandler<PrintPageEventArgs>(printDocument_PrintPage);
printDocument.EndPrint +=
new EventHandler<EndPrintEventArgs>(printDocument_EndPrint);
printDocument.Print("My Items");
}
void printDocument_BeginPrint(object sender, BeginPrintEventArgs e)
{}
void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{ e.PageVisual = myItemsControl; }
void printDocument_EndPrint(object sender, EndPrintEventArgs e)
{}
Что я делаю не так? Как мне убедиться, что все элементы в ItemsControl печатаются по мере их отображения?