问题标签 [xps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - 使用 WPF 显示 XPS 文档的另一种方法
我想问一下,除了 DocumentViewer 之外,是否还有其他替代方法可以在 WPF 应用程序中显示 XPS 文档?.NET 中的即用型控件或类(如果可能)。
这是因为在滚动页面时 DocumentViewer 有点慢。
谢谢!
xaml - 嵌入 .NET 应用程序的 XPS 或 XAML 查看器?
是否有查看器对象或 ActiveX 控件可用于在我的 .NET 应用程序中嵌入 XPS 文档或 XAML GUI?
data-binding - 为什么我在打印到 XpsDocument 时丢失了数据绑定?
更新!
装订工作。问题是 XpsDocumentWriter 没有正确写入 FixedDocumentSequence 的第一个文档的第一页。这似乎是很多人在做这种事情时遇到的问题(即全球有五个开发人员)。解决方案有点奇怪。我把它作为一个答案。
好的,它比问题所暗示的要微妙一些。
我有一系列 FixedPages,每个都有其 DataContext 单独设置。每个 FixedPage 还具有一个或多个绑定到上下文的控件。
如果我将这些 FixedPages 添加到单个 FixedDocument 并将此单个 FixedDocument 写入 XpsDocument,我的绑定将被取消引用(可以这么说)并且正确的值会显示在 XpsDocument 中。
如果我将这些 FixedPages 添加到各个 FixedDocuments(每个 FP 被添加到一个新的 FD),然后这些 FixedDocuments 被添加到一个 FixedDocumentSequence,然后这个序列被写入 XpsDocument,我的绑定不会被取消引用并且我的 FixedPages 显示为空白.
调试告诉我我没有丢失我的绑定或我的绑定上下文,所以这不是这个失败的原因。
下面是一些示例代码来说明发生了什么:
您可以看到两者之间的唯一区别是我将固定文档添加到固定文档序列中,然后将其写入。
显然,当我的固定文档未写入 Xps 文档时,不会发生任何导致评估数据绑定和插入绑定值的魔法。我需要能够编写多个固定文档,并且 Write 方法只能调用一次,因此需要我将 FixedDocuments 添加到我然后编写的 FixedDocumentSequence 中。但我也需要我该死的数据绑定才能工作!
在这种情况下的任何帮助将不胜感激。我知道它不完全是框架中最常见的部分。我只是希望这里有人对此有一些操作经验(我在看着你,潜伏着 MS 员工)。
wpf - 如何在内容模型控件上使用 FixedPage 标记?
在 WPF 中,我尝试将 XPS 文件的 FixedPage 的标记传递给具有该Content
属性(例如Button.Content = XamlReader.Load(<FixedPage markup>)
)的控件。
FixedPage 标记示例:
控件无法获取 FixedPage 标记中引用的资源。
但是,如果我将其更改为“c:\1.jpg”ImageSource
之类的本地路径文件并将资源文件放在同一位置,则控件将能够显示 FixedPage 标记。
我的问题是,有没有办法让控件在显示 FixedPage 的同时保留资源的相对 URI 以避免修改 FixedPage 标记?就像在内存中映射 XPS 文件的结构,然后在调用期间BaseUri
通过类设置 FixedPage 标记?这可能吗?ParserContext
XamlReader.Load()
c# - 将 WPF (XAML) 控件转换为 XPS 文档
我可以使用现有的 WPF (XAML) 控件,对其进行数据绑定并将其转换为可以使用 WPF XPS 文档查看器显示和打印的 XPS 文档吗?如果是这样,怎么做?如果没有,我应该如何使用 XPS/PDF/等在 WPF 中进行“报告”?
基本上,我想采用现有的 WPF 控件,对其进行数据绑定以获取有用的数据,然后使其可打印并可供最终用户保存。理想情况下,文档创建将在内存中完成,除非用户专门保存文档,否则不会访问磁盘。这可行吗?
printing - XPS Document Print Tiling
Currently I have an XPS document whose width is too large for the paper. I would like it to print the clipped off contents on additional pages. I have not been successful at finding a setting to accomplish this.
Any ideas for a solution?
printing - 使用 WPF XPS 查看器打印 XPS 时的默认布局方向
使用 WPF XPS 查看器打印 XPS 时,是否可以设置默认布局方向?
我的固定文档 XPS 将其页面方向设置为横向,页面媒体大小的宽度大于其高度,并且它在查看器中正确显示为横向。只是当您点击打印按钮时,“打印对话框”首选项默认为“纵向”并且它会这样打印。
我宁愿不必更改用户的默认打印设置,如果 XPS Viewer 能够按照设计打印的方式打印 XPS,我会更喜欢它。
c# - 现有 XPS 文档中的数据绑定
我有一个现有的 XPS 文件,我想将其用作模板并可能将数据绑定到它。我尝试了几种方法,但似乎无法使其正常工作。
有没有人有任何更改现有 XPS 文件以在运行时添加数据然后打印或保存的经验?
任何帮助表示赞赏。
.net - 使用 DocumentViewer 控件时如何设置打印作业的名称?
我使用 WPF DocumentViewer 控件来显示 XPS 文档,如下所示:
当单击文档查看器中的打印按钮时,一切打印正常,但是打印作业的名称是 System.Windows.Documents.FixedDocumentSequence,这不太理想。
如何设置打印作业的名称?
我知道使用 PrintDialog.PrintDocument() 可以让我设置名称,但我看不到如何使用 DocumentViewer 控件进行设置。
c# - XPS 表格填写
有没有办法在 C# 中使用 XPS 文档填写表单?