WPF FixedPage не печатает данные в списке

У меня есть пользовательский элемент управления с фиксированным элементом страницы, все работает нормально из пользовательского интерфейса, но когда я печатаю его, данные в списке не печатаются в квитанции. Я пробовал несколько вещей, но независимо от того, что это просто не отображается.

Вот XAML

                  <FixedPage x:Name="ReceiptData">
                <StackPanel Orientation="Vertical">
                    <Image Source="../Images/LOGO.png" Width="340" Margin="5,1,1,1"></Image>
                    <StackPanel Orientation="Horizontal" >
                        <Label Margin="5,1,0,1" Content="{Binding KioskName, FallbackValue=000000}"></Label>
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">

                        <Label Content="Date:" Margin="5,1,8,1"></Label>
                        <Label Content="{Binding CurrentDateTime, StringFormat=g}"></Label>
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Border BorderThickness="0,1,0,0" 
                               BorderBrush="Black" 
                                Height="5" Width="345"/>
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Label Content="Qauntity"></Label>
                        <Label Content="Description" Margin="8,0,0,0"></Label>
                        <Label Content="Price" Margin="130,0,0,0"></Label>
                    </StackPanel>
                    <ListView ItemsSource="{Binding SaleItemsObservable}" MinHeight="300"
                              BorderBrush="{x:Null}" 
                              Background="{x:Null}" 
                              Foreground="Black">
                        <ListView.View>
                            <GridView ColumnHeaderContainerStyle="{StaticResource gridViewNoHeader}">
                                <GridViewColumn DisplayMemberBinding="{Binding Quantity}" Width="45"/>
                                <GridViewColumn DisplayMemberBinding="{Binding ProductName}" Width="210" />
                                <GridViewColumn DisplayMemberBinding="{Binding Path=Price, StringFormat='{}{0:c}'}" Width="55"/>
                            </GridView>
                        </ListView.View>
                    </ListView>
                    <Image Source="../Images/LOGO.png" Width="340" Margin="5,1,1,1"></Image>
                </StackPanel>
            </FixedPage>

Это код, который печатает его.

       private void Button_Click(object sender, RoutedEventArgs e)
    {
        InnerGrid.Children.Remove(ReceiptData);
        PrintQueue sourcePrintQueue = new LocalPrintServer().DefaultPrintQueue;
        if (sourcePrintQueue != null)
        {
            var pageContent = new PageContent();
            var fixedDocument = new FixedDocument();
           
            fixedDocument.PrintTicket = new PrintTicket();
            var printTicket = (PrintTicket)fixedDocument.PrintTicket;
            printTicket.PageOrientation = PageOrientation.Portrait;
            ((IAddChild)pageContent).AddChild(ReceiptData);
            fixedDocument.Pages.Add(pageContent);
            PrintDialog pd = new PrintDialog();
            pd.PrintQueue = sourcePrintQueue;
            pd.PrintTicket = printTicket;
            pd.PrintDocument(fixedDocument.DocumentPaginator, "Kiosk 2.0 Receipt");
        }

    }

Он печатает отлично, но данные в списке отсутствуют, несмотря ни на что, я попытался установить шаблон, я попытался вручную установить элементы в коде, но ничего не работает, поэтому я предполагаю, что мне что-то не хватает, чтобы сообщить об этом вывести эти данные на принтер? Есть идеи?

0 ответов

Другие вопросы по тегам