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你是说窗口的可见性吗?抱歉,我忘了说我不想创建一个
窗口的实例来首先显示
图像。那么,请尝试创建一个实例并检查它是否至少出现