C# 如何在不在窗口上显示的情况下打印图像元素?
我有一个C# 如何在不在窗口上显示的情况下打印图像元素?,c#,wpf,C#,Wpf,我有一个页面,其中包含一个堆栈面板元素,该元素包含一些UI元素,如文本块,图像,等等。我试图打印堆栈面板,其中的所有内容都已打印,除了图像元素 我在页面构造函数中编写了print语句,但没有在窗口上显示页面。我猜图像没有渲染 我的问题是:如何打印图像元素而不将其显示在窗口 这是我的密码: 公共部分类发票表单:第页 { FixedDocument fixedDoc=新的FixedDocument(); PrintDialog prtDialog=新建PrintDialog(); bool isPr
页面
,其中包含一个堆栈面板
元素,该元素包含一些UI元素,如文本块
,图像
,等等。我试图打印堆栈面板
,其中的所有内容都已打印,除了图像
元素
我在页面
构造函数中编写了print语句,但没有在窗口
上显示页面。我猜图像
没有渲染
我的问题是:如何打印图像
元素而不将其显示在窗口
这是我的密码:
公共部分类发票表单:第页
{
FixedDocument fixedDoc=新的FixedDocument();
PrintDialog prtDialog=新建PrintDialog();
bool isPrinted=false;
公共发票表格()
{
初始化组件();
字符串dateNow=DateTime.Now.ToString(“dd-MMM-yyyy”,new-CultureInfo(“id”);
HeaderDateNow.Text=DateInfoDateNow.Text=dateNow;
Console.WriteLine(dateNow);
保存的字符串=XamlWriter.Save(ContainerStackPanel);
StringReader sReader=新StringReader(已保存);
XmlReader=XmlReader.Create(sReader);
StackPanel容器StackPanel克隆=(StackPanel)XamlReader.Load(xReader);
FixedPage FixedPage=新的FixedPage();
PageContent PageContent=新的PageContent();
FixedDocument fixedDoc=新的FixedDocument();
fixedPage.Children.Add(containerStackPanelClone);
固定页边距=新厚度(62,38,25,30);
pageContent.Child=fixedPage;
fixedDoc.DocumentPaginator.PageSize=新尺寸(GetPaperSize(PaperKind.A4)。宽度*96,
GetPaperSize(PaperKind.A4)。高度*96);
fixedDoc.Pages.Add(页面内容);
集装箱固定板。测量(新尺寸(双正不确定度,双正不确定度));
ContainerStackPanel.Arrange(新Rect(新点(0,0),ContainerStackPanel.DesiredSize));
Console.WriteLine(“ContainerStackPanel,宽度:{0}高度:{1}”,ContainerStackPanel.ActualWidth,ContainerStackPanel.ActualHeight);
WriteLine(“fixedDoc,宽度:{0}高度:{1}”,
fixedDoc.DocumentPaginator.PageSize.Width,fixedDoc.DocumentPaginator.PageSize.Height);
//打印文档
prtDialog.打印文档(固定文档页码,“测试打印表单”);
}
}
只需将其设置为.Visible
状态为false
您能提供您的代码吗?@Sergio您是指窗口的可见性吗?对不起,我忘了说我不想先创建一个窗口的实例来显示图像。那么,尝试创建一个实例并检查它是否出现至少只需将它设置为。Visible
状态为false
你能提供你的代码吗?@Sergio你是说窗口的可见性吗?抱歉,我忘了说我不想创建一个窗口的实例来首先显示图像。那么,请尝试创建一个实例并检查它是否至少出现