Распечатать все содержимое в ScrollViewer - Silverlight - PullRequest
0 голосов
/ 03 декабря 2011

Я показываю около 100 записей в ScrollViewer Control.Когда я печатаю элемент управления ScrollViewer, он печатает только текущий вид (10 записей).Как я могу распечатать все сотни данных одновременно?

1 Ответ

1 голос
/ 04 декабря 2011

Возможно, вы захотите использовать класс PrintDocument в Silverlight. Использование как ..

в XAML файле создать список как

 <ScrollViewer Height="300" VerticalScrollBarVisibility="Auto">
            <ItemsControl x:Name="printSurface">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal"
                    Height="25">
                            <TextBlock Width="100"
                     Text="{Binding Name}" />
                            <TextBlock Width="75"
                     Text="{Binding Genre.Name}" />
                            <TextBlock Width="50"
                     Text="{Binding Price, StringFormat=c}" />
                        </StackPanel>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </ScrollViewer>

А код позади выглядит так.

void printButton_Click(object sender, RoutedEventArgs e)
{
  PrintDocument doc = new PrintDocument();
  doc.PrintPage += new EventHandler<PrintPageEventArgs>(doc_PrintPage);
  doc.Print("Page title");
}

void doc_PrintPage(object sender, PrintPageEventArgs e)
{
  // Stretch to the size of the printed page
  printSurface.Width = e.PrintableArea.Width;
  printSurface.Height = e.PrintableArea.Height;

  // Assign the XAML element to be printed
  e.PageVisual = printSurface;

  // Specify whether to call again for another page
  e.HasMorePages = false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...