C# 如何打印可滚动的wpf主窗口?

C# 如何打印可滚动的wpf主窗口?,c#,wpf,printing,C#,Wpf,Printing,在我的WPF应用程序中,我有一个列表框,其中有许多项目,我的窗口具有滚动功能,因此我需要打印完整的页面。我尝试了以下代码,它仅打印可见窗口部分,但不打印到窗口结束。如何实现此目的,请寻求真正的帮助 private void Canvas_Print_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { PrintDialog printdlg = new PrintDialog();

在我的WPF应用程序中,我有一个列表框,其中有许多项目,我的窗口具有滚动功能,因此我需要打印完整的页面。我尝试了以下代码,它仅打印可见窗口部分,但不打印到窗口结束。如何实现此目的,请寻求真正的帮助

private void Canvas_Print_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
                PrintDialog printdlg = new PrintDialog();
                MainWindow win = new MainWindow();
                win.Tag = this;
                if (printdlg.ShowDialog() == true)
                {
                    printdlg.PrintVisual(this, "Myapplication Name");
                }
}

好的,我从这个代码中提取这个代码


您也可以访问此获取您的答案。。。这将调整窗口大小以适应内容。如果您不想访问此网站。

Hi Syed,谢谢你的回复,但你在上面的链接中提到的只是关于打印特定的部分,我只想打印我的整个窗口我有一个滚动条,用于我的整个窗口如果我使用上述代码,那么它是打印特定的部分,只可见,包括滚动条,我想要的是我需要打印整个窗口和滚动条不应该被打印。你访问了链接并阅读了所有的帖子吗?它们是用来打印整个窗口的,它们描述了一种类似于您的情况。。。
PrintDialog dlg = new PrintDialog();
this.Width = 350;
panel.ScrollToTop();
if (dlg.ShowDialog() == true)
{
    dlg.PrintVisual(panel.Content as Visual, "Print Button");
}