SimpleWPFReporting的PDF没有内容

时间:2017-05-29 05:34:26

标签: c# wpf pdf

我尝试使用SimpleWPFReporting生成一个非常简单的PDF,仅供练习。

由于其文档中没有示例代码,我尝试根据我的理解创建示例:

Window1.xaml.cs

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }
    public class Sample
    {
        private string _aw;
        public string Aw
        {
            get { return _aw; }
            set { _aw = value; }
        }
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        StackPanel stkMain = new StackPanel();
        stkMain.Background = Brushes.Pink;
        stkMain.Height = 100;
        stkMain.Width = 100;

        TextBlock txtSample = new TextBlock();
        txtSample.Text = "SAMPLE TEXT";
        stkMain.Children.Add(txtSample);
        ReportOrientation portrait = ReportOrientation.Portrait;
        Sample sample = new Sample()
        {
            Aw = "Some text"
        };

        Report.ExportReportAsPdf(stkMain, sample, portrait);
    }
}

它确实保存为PDF,但是当我打开它时,它是空白的。我期待的是至少看到那里的TextBlock

我不太了解参数中数据上下文的使用,所以我只是在那里添加了一个类。我试过寻找教程但失败了。我错过了什么或者我错了吗?

2 个答案:

答案 0 :(得分:0)

我认为你必须将stackpanel方向指定为“vertical”,如doc

中所述

https://github.com/maximcus/SimpleWPFReporting

答案 1 :(得分:0)

深入到source代码之后,它使用了Visual,因此您必须将堆栈面板添加到可视树中才能进行渲染,然后再打印。

您可以创建一个预览器窗口,添加堆栈面板,现在pdf将显示内容。

我将自己创建一个预览器,因此我将在完成后发布。