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");
}
}
Он печатает отлично, но данные в списке отсутствуют, несмотря ни на что, я попытался установить шаблон, я попытался вручную установить элементы в коде, но ничего не работает, поэтому я предполагаю, что мне что-то не хватает, чтобы сообщить об этом вывести эти данные на принтер? Есть идеи?