Telerik PdfViewer -绑定到PDF源

本文关键字:PDF 绑定 PdfViewer Telerik | 更新日期: 2023-09-27 17:53:05

我也在telerik的网站上试用了这些样品,没有效果。所以我有这样的代码:

    public ICommand EmailPopUpCmd { get; set; }
    private void EmailPopUp(object sender) {
        //ToDo: pdf viewer pop up
        selectedDataRow = (DataRow)sender;
        var window = new Window();
        window.Content = new EmailView() { DataContext = this}; //shares the same data context
        MemoryStream str = new MemoryStream();//= new MemoryStream(pdfAsByteArray);//new System.Uri(@"pack://application:,,,/Resources/TestPDF.pdf", System.UriKind.RelativeOrAbsolute);
        using(FileStream fs = File.OpenRead(@"C:'Source'UI.MailViewer'Resources'TestPDF.pdf")) {
            str.SetLength(fs.Length);
            fs.Read(str.GetBuffer(),0, (int)fs.Length);
        }
        AttachmentPath = new PdfDocumentSource(str);
        if (window.ShowDialog() == true) {
            //from child back to parent
        }
    }

C: ' ' UI.MailViewer ' ' TestPDF.pdf资源来源是我的PDF所在的位置,我将它绑定到UI,如下所示:

telerik:RadPdfViewer x:Name="pdfEmailViewer"
                          Grid.Row="2"
                          DocumentSource="{Binding AttachmentPath,Converter={StaticResource DebugConverter}}">

现在使用这个,我得到一个对象没有设置为实例错误。知道为什么吗?使用调试转换器,创建的PDF文档的值为空,为什么会发生这种情况?

Telerik PdfViewer -绑定到PDF源

好的,所以为了帮助其他用户,我在telerik论坛上发现了这个:(telerik论坛链接)

为了使RadPdfViewer在WinForms应用程序中工作,还有一件事要做:您应该确保应用程序。在初始化用户控件之前初始化当前属性,例如通过在用户控件的构造函数中添加以下代码:

public PdfViewerControl()  {  
if (Application.Current == null)    
    new Application();   
InitializeComponent();  
}