【发布时间】:2010-07-30 11:16:27
【问题描述】:
我正在创建一个简单的 WPF 打印对话框来设置标签打印机。我希望它非常简单,所以我选择不使用标准的 WPF 打印对话框。
一切顺利,接受一件事,纸张尺寸。
从一个组合框中选择了一台打印机后,第二个组合框将填充该设备可用的纸张尺寸。我目前正在使用 selectedPrinter.GetPrintCapabilities.PageMediaSizeCapability 并将其设置为组合框的 itemssource。
但是,我的主要问题是:
似乎只获得了可用纸张尺寸的一个子集(与普通打印对话框相比)
无法添加自定义尺寸,因为 PageMediaSize 不可继承,并且构造函数只允许您使用 PageMediaSizeName 枚举
和
我可以显示的唯一名称是通过将显示路径绑定到 PageMediaSizeName 的 Enum 文本,这不是特别用户友好。
我还发现,如果我将 selectedPrinter.GetPrintCapabilitiesAsXml 转储到一个文件并查看它,我会得到我需要的一切;打印机的所有可用纸张尺寸都有尺寸,重要的是显示名称元素。
我的问题是,我是否缺少 selectedPrinter.GetPrintCapabilities 的某些内容,还是需要为 selectedPrinter.GetPrintCapabilitiesAsXml 创建解析器并改用此信息?
【问题讨论】:
标签: wpf printing printdialog