Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/198: Рейтинг темы: голосов - 198, средняя оценка - 4.54
1 / 1 / 2
Регистрация: 08.09.2014
Сообщений: 20

В чем главное преимущество WPF над WinForms?

08.09.2014, 19:10. Показов 41031. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброй ночи, господа. Скажите пожалуйста, в чем главное преимущество WPF над WinForms (если оно есть)? Кроме анимашечек и визуальных стилей, которые отрисовывает GPU. Например, меня несколько смущает отсутствие координатной сетки, но это вроде как фишка, векторность и все такое.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.09.2014, 19:10
Ответы с готовыми решениями:

WPF программа медленее чем WinForms
Здравствуйте! Такая проблема написал приложение на winforms, которое анализирует точки в окне и находит элементы нужной мне формы. Все...

В чем заключается преимущество языка C# в сравнении с языком C++?
Здравствуйте, уважаемые программисты. Подскажите - в чем заключается преимущество языка C# в сравнении с языком C++ ? И какой из...

WPF vs WinForms
Доброго времени суток! Дело обстоит так: Писал программу на WinForms, но из-за тормознуточти datagridview перекидываю проект (работа с...

24
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
11.09.2014, 10:47
Студворк — интернет-сервис помощи студентам
вставлю свои 5 копеек, подведя итоги и добавив свое ИМХО.
Плюсы WPF:
1) Абсолютное разделение графики и логики программы. Мы можем писать алгоритмы совсем не думая о графическом интерфейсе.
2) Мощный инструмент привязки данных(он есть и в WinForms, но в WPF он более гибкий).
3) Полная свобода в контролах. базовых компонентов более чем достаточно чтобы сделать что угодно и в каком угодно виде.
4) использование DirectX а не GDI+. В результате снижаем загруженность процессора и можем использовать очень красивые графические эффекты.
Недостатки WPF
1) потребляет до 50% больше памяти
2) необходимо разбираться в XAML. и чем больше хочешь от него получить - тем больше заморочек
3) не хватает простоты WinForms - зачастую недостаточно перетянуть контрол с панели инструментов на форму - надо дорабатывать в XAML напрямую.

З.Ы. DataGridView в WPF - это Grid с привязкой данных.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,665
Записей в блоге: 14
11.09.2014, 14:43
 Комментарий модератора 
Водяной Змей, надорвёшься так на каждое сообщение по аккаунту создавать.
Прошу всех сознательных форумчан не вступать в полемику с этим клоноводом,
все последующие его сообщения будут просто удалены.


Добавлено через 1 минуту
Зяблик, наверное тоже из той же выездной труппы?
В чём практическая часть вопроса?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
11.09.2014, 19:40
Цитата Сообщение от Tirenta Посмотреть сообщение
Там тебе и тригеры умные и привязка данных которую ты можешь настроить как хочешь, стили, шаблоны, куча возможностей без участия кода.
Можно полностью отделить графический интерфейс и его поведение от внутренней логики программы
Ага. Я вот, к примеру написал ViewModel, которая умеет формировать дерево TreeView, загружать данные, изменять, сохранять, выбирать. И написал 2 окна, первйй это редактор, второй это селектор (то есть просто выбрать элемент в дереве, чтобы его куда-то присвоить). В итоге у меня 2 разных окна и одна логика для обоих. Создал окно, в DataContext закинул ViewModel и всё, это уже редактор. Создал другое окно, ту же ViewModel закинул в DataContext, это уже селектор.

Что ещё удобным кажется. Создал коллекцию комнат для чата. Прибиндил к ItemsSource у TabControl, написал свой UserControl, в котором сам чат (текстовое поле для печати, кнопка отправить и т.д.). Теперь мне нужно лишь добавить в коллекцию один экземпляр класса, чтобы появилась полноценная вкладка, в которой я могу отправлять сообщения пользователям, которые в комнате. И всё. Минимум телодвижений.

Насчёт того, что кому-то не нравится XAML. Это не нравится, пока ты не поймёшь всю его мощь, реально крутая штука. Всё наглядно и понятно, чем в коде разглядывать километры кода в виде хитросплетений, хотя, возможно, в коде и гибче всё было бы, но никто не мешает всё писать в коде, в принципе.

Добавлено через 7 минут
Цитата Сообщение от OutLet Посмотреть сообщение
свистоперделки для работы нафиг не нужны, можно просто послать куда подальше и найти нормального программиста, вместо того чтоб на хороший видеоадаптер тратиться.
У меня на работе вообще видюхи нет, только встроенная в проц графика. И что-то WPF приложение, которое всё просто в свистопе*делках от и до напичкано не тормозит вообще. Ну там приложение отображающее течение тех процесса на производстве и управления им, и оно по задумке премиум класса, вот вам и графика и анимации и т.д. Но суть в том, что никаких тормозов нет. Тормоза были, когда было это приложение на Win Forms, там вообще надо было видеть...
0
 Аватар для ninja2
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
05.10.2015, 06:27
Цитата Сообщение от Wolfdp Посмотреть сообщение
Но вот если только ничинать учить шарп, то WPF скорее всего будет невероятным непонятным бредом, в отличии от кликабельных формочек.
Нет, за неделю выучил и первое приложение простое кнопки и диалог создал на WPF, от думаю стоит ли WinForm учить? Думаю мб. хотябы попробовать на нем создать чтото или уже winform полностью устарел??? Хочу приложение на WinForm сделать тоже самое что на WPF сделал.
0
1 / 1 / 0
Регистрация: 18.06.2009
Сообщений: 8
24.02.2017, 11:18
Преимущество WPF над WinForms, как уже высказались предыдущие участники, в том, что интерфейс пользователя отрисовывается посредством DirectX, т.е. полностью задействуются аппаратные возможности ускорения отрисовки графики. Это очень критично, кстати, для приложений, активно использующих графику (карты местности, графики и т.д.). Очевидно MS в очередной раз уперлась в предел своих способностей по ускорению WinForms под .NET, вот и изобрела очередной велосипед под названием WPF.

Недостатки WPF с лихвой покроют ее достоинство.
Все дело в том, что MS хоть и позиционирует платформу .NET в качестве кроссплатформенной, но при этом ровным счетом ничего не сделала для того, чтобы на протяжение долгих лет среда .NET заработала в других ОС, отличных от MS-Windows, например: Linux, Mac. Ибо никак не хочет MS терять клиентов для MS-Windows. За нее работу по приданию кроссплатформенности среде .NET выполняет компания Xamarin. Ее среда Mono позволяет приложениям .NET худо-бедно, но работать как в MS-Windows, так и в ОС Linux и Mac OS. Библиотека DirectX, которую использует WPF, больше не используется ни в одной ОС кроме как MS-Windows. MS не могли об этом не знать. Все остальные разработчики используют аналог DirectX под названием OpenGL. Поэтому поддержки WPF не предвидится в обозримом будущем в проекте Mono. Значит, приложения WPF автоматически перестают быть кроссплатформенными и не будут работать нигде кроме MS-Windows. Сразу вопрос: а зачем тогда нужен C#??? Проще использовать Java или Qt в паре с C++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.02.2017, 11:18

WinForms + WPF (MDI)
Можно ли в WinForms-окно поместить как MDI Child окно WPF? Можно ли в WPF-окно поместить WinForms окно? Как?

WPF TextBox из WinForms
из окна WinForms я хочу вызвать окно WPF: WinWPF win = new WinWPF(); win.Show(); окно корректно появляется, в нем определенным...

WinForms эволюция в WPF
Привет! Подскажите пожалуйста, правильно ли у меня сформировалось мнение или представление, что WPF является продолжением или эволюцией...

WPF и компонент WinForms
Так как меня абсолютно неустроил встроеный браузер, я решил использовать двиг gecko.В WinForms все работает но как его добавить в WPF?

WPF вместе с WinForms
Здравствуйте! Есть WPF проект. Всё работает нормально. Но хотелось бы некоторые окна (например, окно настроек) сделать на WinForms. Можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru