Приложение WPF, ссылающееся на System.Windows.Forms - PullRequest
4 голосов
/ 30 марта 2009

Я создаю свое первое приложение WPF, и я хотел понять, есть ли какая-то лучшая практика при смешивании функций из пространства имен System.Windows.Forms.

По сути, я хочу иметь всплывающее окно, которое открывается по умолчанию в нижнем правом углу монитора пользователей.

Я не могу найти эквивалент Screen.PrimaryScreen.Bounds в пространствах имен WPF. Примеры, которые я видел, предлагают ссылаться на System.Windows.Forms в приложении WPF.

Что привело меня к вопросу, это плохая практика?, Учитывая, что эта ссылка не включена по умолчанию.

Я собираюсь сослаться на требуемый ресурс WPF в моем существующем приложении форм Windows, чтобы я мог использовать это новое окно WPF.

Что-то не так с этим подходом?

РЕДАКТИРОВАТЬ: На самом деле я обнаружил свойство, которое возвращает информацию основного экрана без ссылки на Windows Forms. Это свойство SystemParameters.WorkArea, но мой вопрос о смешивании ссылок все еще стоит.

Ответы [ 2 ]

0 голосов
/ 30 марта 2009

Также вы должны учитывать ресурсы и снижение производительности, так как вашему приложению придется загружать сборки как для Windows Forms, так и для WPF. На форумах MSDN несколько раз упоминалось, что взаимодействие WPF / Winforms занимает довольно много циклов ЦП ...

0 голосов
/ 30 марта 2009

Я не думаю, что ссылаться на WinForms, когда это необходимо, плохо. Поскольку WPF все еще является относительно новой технологией, у него просто пока нет полной функциональности с WinForms. Например, насколько мне известно, ни один из стандартных диалогов Windows («Открыть файл», «Сохранить файл», «Найти папку» и т. Д.) Еще не был реализован в WPF. Единственный способ отобразить их в приложении WPF - использовать версию WinForms или использовать P / Invoke для отображения версий Win32 самостоятельно. Я лично работаю с версией WinForms, так как они уже взяли на себя труд обернуть Win32 API.

Мой подход заключается в том, чтобы максимально использовать WPF и использовать только WinForms, если WPF не удовлетворяет мои потребности. Надеюсь, что в следующем выпуске WPF это будет становиться все менее и менее необходимым.

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