Что такое WPF и как он выдерживает сравнение с WinForms?

Краткий ответ: Проверьте страницу, чтобы убедиться, что селектор захватывает правильную форму. В этом случае тестер забыл, что в строке меню существует форма. Тест нажимал кнопку в строке меню вместо основного содержимого страницы.

Оригинальный текст: Я думаю, иногда вам просто нужно уйти и вернуться к проблеме. Я был так сосредоточен на форме в центре страницы, что пропустил форму в строке меню, в которой есть ввод с именем «запрос».

Я нажимал не ту кнопку с моими командами Dusk, потому что мой селектор применялся к нескольким кнопкам в разных формах.

48
задан Community 23 May 2017 в 11:54
поделиться

4 ответа

WPF является основанным на векторной графике уровнем представления UI, где WinForms не. Почему это важно/интересно? Будучи базирующимся вектором, это позволяет уровню представления гладко масштабировать элементы UI к любому размеру без искажения.

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

WPF также полностью связывает с данными знающий, что означает, что можно связать любое свойство элемента UI к объекту.NET (или свойство/метод объекта), свойство другого элемента UI или данные. Да, привязка данных поддержек WinForms, но намного более ограниченным способом.

Наконец, WPF "skinable" или "themeable", что означает, что как разработчик можно использовать поле списка, потому что это - поведения, в которых Вы нуждаетесь, но кто-то может "очистить" его для сходства с чем-то совершенно другим.

Думают о поле списка изображений. Вы хотите, чтобы содержание на самом деле было изображением, но Вы все еще хотите поведения поля списка. Это абсолютно тривиально, чтобы сделать в WPF путем простого использования поля списка и изменения представления содержания для содержания изображения, а не текста.

62
ответ дан Scott Dorman 26 November 2019 в 18:43
поделиться

Хороший способ посмотреть на это мог бы запустить с выяснения, каков точно Winforms.

И Winforms и WPF являются платформами, разработанными для создания уровня UI приложения легче кодировать. Действительно старые люди здесь могли бы быть в состоянии говорить о том, как при записи версии для Windows "Привет, Мир" мог взять приблизительно 4 страницы кода. Кроме того, скалы были намного более мягкими тогда, и мы имели к борьбе гигантских ящериц, в то время как мы кодировали. Библиотека Winforms и разработчик берут много общих задач и делают их легче записать.

WPF делает то же самое, но с осведомленностью, что те общие задачи могли бы теперь включать намного более визуально интересные вещи, в дополнение к включению большого количества вещей, что Winforms не обязательно считал частью уровня UI. Путем WPF поддерживает управление, триггеры, и привязка данных является всеми большими частями платформы, но базовой причиной его является та же базовая причина, которую Winforms имел для существующего во-первых.

улучшение WPFs здесь - то, что, вместо того, чтобы дать Вам опцию или писать абсолютно пользовательский элемент управления с нуля или вынудить Вас использовать единственный набор средств управления с ограниченными возможностями настройки, можно теперь разделить функцию управления от его появления. Способность описать, как наши средства управления смотрят в XAML и разделяют это от того, как работа средств управления в коде очень похожа на модель HTML/Code, с которой веб-программисты привыкли работать.

А хорошее приложение WPF следует той же модели, что хорошее приложение Winforms было бы; хранение как можно большего количества материала из уровня UI. Логика ядра приложения и слоя данных должна быть тем же, но существуют теперь более легкие способы сделать зрительный ряд более впечатляющим, который вероятен, почему большая часть информации, которую Вы видели на нем, включает более роскошный визуальный материал. Если Вы надеетесь изучать WPF, можно на самом деле запустить при помощи его почти точно, поскольку Вы были бы Winforms и затем рефакторинг других функций в том, поскольку Вы схватываете их. Для превосходного примера этого я настоятельно рекомендую серию Scott Hanselman сообщений в блоге на разработке BabySmash, , которые запускаются здесь . Это - большая пошаговая демонстрация процесса, и в коде и в мысли.

20
ответ дан Raumornie 26 November 2019 в 18:43
поделиться

Для ответа на вопрос приложение WPF Приложение Windows. WPF является новой платформой Microsoft (на самом деле, это - подсистема платформы.NET 3.0) для записи богатых Приложений Windows. Это предназначено как возможная замена для WinForms (хотя по общему признанию уровень принятия намного медленнее, чем MS надеялся на).

9
ответ дан Kevin Babcock 26 November 2019 в 18:43
поделиться

Запустите здесь, существуют десятки и десятки видео: http://www.windowsclient.net/learn

В этом случае, маркетинг schpiel довольно хорош:

** "Windows Forms являются рядом классов в Платформе.NET, которая включает быструю разработку богатых клиентских приложений Windows с мощными, расширяемыми библиотеками для средств управления пользовательским интерфейсом и графики. Можно включить WPF в приложения Windows Forms через совместимость WPF-Windows-Forms в.NET 3.5 Платформы". *

* "WPF, компонент Microsoft.NET Framework 3.5, уполномочивает Вас создавать следующего поколения из событий пользователя Windows. WPF поддерживает UI, медиа, документы, аппаратное ускорение, векторную графику, масштабируемость к факторам другой формы, интерактивной визуализации данных и превосходящей удобочитаемости содержания". **

С WPF Вы получаете ПУТЬ лучшая графическая поддержка, путь более мощная и гибкая привязка данных (если Вы работаете с Данными, используйте WPF.)

3
ответ дан Scott Hanselman 26 November 2019 в 18:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: