WPF: Почему СЛИШКОМ МЕДЛЕННО получить PrintDialog .PrintableAreaWidth и .PrintableAreaHeight? - PullRequest
1 голос
/ 15 ноября 2010

Возникла проблема с чрезвычайно проводной WPF PrintDialog - Windows XP64 + VS2010.

Довольно невероятно, что очень медленно получается получить свойство PrintDialog .PrintableAreaWidth или .PrintableAreaHeight.

// см. Примеры кодов ниже - не забудьте включить «using System.Windows.Controls»

PrintDialog pd = new PrintDialog();
double pw = pd.PrintableAreaWidth;    // set a break-point here, very slow, why???  
double ph = pd.PrintableAreaHeight;

У кого-нибудь есть идеи по этому поводу? Я ценю любые мысли!

1 Ответ

2 голосов
/ 15 ноября 2010

PrintableArea относится к фактическому используемому принтеру - ваше приложение должно связаться с принтером, чтобы получить эту информацию, и я думаю, что это причина, почему он работает медленно. Это не должно быть быстрее в WinForms ...

Если вы хотите оптимизировать, вы можете кэшировать имя принтера и его значения по умолчанию и использовать его вместо того, чтобы каждый раз запрашивать принтер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...