Я создаю приложение Silverlight 4. Это приложение опубликует содержимое элемента ItemsControl. Этот элемент ItemsControl использует ItemTemplate для визуализации элементов, привязанных к элементу управления. В целом у меня есть 500 элементов, связанных с элементом управления.Silverlight 4 - Элемент управления печатью
Как ни странно, когда я пытаюсь напечатать элемент 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 были напечатаны, когда они отображаются?
+1, Это очень хороший вопрос. – AnthonyWJones
500 значений, которые больше, чем страницы справа? Вы устанавливаете для свойства HasMorePages значение true, чтобы указать это? – texmex5