Я создаю простое диалоговое окно печати WPF для настройки принтера этикеток.Я хочу, чтобы это было очень просто, и поэтому я решил не использовать стандартный диалог печати WPF.
Все идет хорошо, с одной стороны, размеры бумаги.
Выбрав принтер изодин комбинированный список, второй комбинированный список заполняется форматами бумаги, доступными с этого устройства.В настоящее время я использую selectedPrinter.GetPrintCapabilities.PageMediaSizeCapability и устанавливаю его в качестве источника элементов в выпадающем списке.
Тем не менее, у меня есть следующие основные проблемы:
Кажется, он получает только подмножество доступных форматов бумаги (по сравнению с обычным диалоговым окном печати)добавьте нестандартные размеры, поскольку PageMediaSize не наследуется, и конструктор позволяет использовать только перечисление PageMediaSizeName
и
. Единственное имя, которое я могу отобразить, - это текст Enum путем привязки diplaypath к PageMediaSizeName, которыйне особо удобен для пользователя.
Я также обнаружил, что если я дам дамп selectedPrinter.GetPrintCapabilitiesAsXml в файл и посмотрю на это, я получу все, что мне нужно;все доступные размеры бумаги принтера, каждый из которых имеет размеры и, что важно, элемент отображаемого имени.
Мой вопрос: я что-то упустил с selectedPrinter.GetPrintCapabilities или мне нужно создать анализатор для selectedPrinter.GetPrintCapabilitiesAsXml ииспользовать эту информацию вместо?