Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
MolodoyCoder
35 / 14 / 2
Регистрация: 02.09.2013
Сообщений: 565
#1

Интересует мнение программистов, использующих в своей работе WPF c C#

05.10.2013, 17:51. Просмотров 2228. Ответов 30
Метки нет (Все метки)

На моей работе мы кодим мордочки с помощью библиотек Windows Forms для корпоративных приложений.
В принципе хватает. Я попробовал WFP, и заметил удобство размещения элементов, особенно авторазмещения
при изменении размеров окна. Но "красивости", "округлости" и "цветастости" нас не интересуют. Мы проектируем
строгие, классические интерфейсы. В общем чисто работа. Никаких "хакерских" и "молодежных" приукрас.

А вот если вы перешли в корпоративе на WPF с Windows Forms то почему ?
Каковы особенности ?
Есть ли очевидные минусы , плюсы ?
Стоит ли качать Ribbon для WPF MS 2010 ?

Так как я пробовал только немного, то соответственно еще многих плюсов-минусов пока не знаю.
А время - деньги. Переделывать и потом обнаружить, что оно вдруг окажется не особо нужно, не хочется. И так хватает забот.


p.s.
На работе MS VS 2010 PRO (пишем под .NET 4.0 , что бы работало на XP в. т.ч.)
парк машин от p4 2 gb RAM presscot WinXP, до core i7 16 Gb RAM Win7 64. Мониторы от 15" 3:4 до 24" 16:9.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2013, 17:51
Ответы с готовыми решениями:

Влияние образования на дальнейшую карьеру, интересует мнение именно программистов C#, так как это моя основная специализация
Здравствуйте, уважаемые программисты. Передо мной встал следующий вопрос:...

Материалы по работе со стилями WPF
Стоит задача сделать для приложения (календарик) различные стили оформления...

С чего лучше начать изучение WPF (по работе на примерах)?
Подскажите как и где следует изучать WPF (на примерах) чтобы вникнуть в суть...

Интересует мнение специалистов
Уважаемые гуру, помогите подобрать оптимальное железо для следующих целей: 1....

Интересует мнение по сборке
Всем привет. В компьютерном железе не разбираюсь, поэтому прошу помощи в...

30
sau
1795 / 1519 / 234
Регистрация: 22.07.2011
Сообщений: 5,745
Завершенные тесты: 1
10.10.2013, 05:25 #2
Мне кажется основное "преимущество" именно в красивом дизайне , на WPF это проще делать - можно быстро состряпать контрол любой сложности.
Плюс , xaml можно вынести во внешний файл , и подгружать , например, с сервера - удобно в плане динамического обновления интерфейса.
Так же двунаправленный биндинг - MVVM.
В общем , в сравнении с WinForms одни только плюсы , почему бы и не перейти.
1
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
10.10.2013, 12:07 #3
Главный козырь это возможность изменять контролы до неузнаваемости. Так например если Вам в формах надо будет создать листбокс с картинкой в айтеме, заголовком и текстом, то прийдется долго топтать батоны, в wpf это можно сделать “практически„ одной мышкой. Что косается формы, например сделать округлую кнопку в форме можно, но сложно, в xaml
XML
1
        <Button Content="округлая кнопка" Height="32" HorizontalAlignment="Right" Margin="0,0,12,5" Name="button1" VerticalAlignment="Bottom" Width="150" Clip="M1.5,16C1.5,7.99187112745349,8.2157287525381,1.5,16.5,1.5L133.5,1.5C141.784271247462,1.5 148.5,7.99187112745349 148.5,16 148.5,24.0081288725465 141.784271247462,30.5 133.5,30.5L16.5,30.5C8.2157287525381,30.5,1.5,24.0081288725465,1.5,16z" Grid.Row="1" />
разумеется что эти цифры высчитывать не надо, можно заюзать экспрессион. Отдельная тема это быстродействие. В формах за все в ответе процессор, а в wpf за логику отвечает процессор, а за диз видюха. Также стоит обратить внимание на раздиление дизайна и логики. Сам диз могут делать дизайнеры, а логику прогеры. Недостаток форм в том что они уходят в историю. В студии 2012 например, для c++ формы уже убраны, для шарпа еще есть, но нового ни чего и я не удевлюсь когда форм не будет и для шарпа. Явных минусов в Presentation Foundation не нашел. Разве что только несколько не удобно при переходе от форм к новой технологии, но это только первых дня два-три, а дальше одни плюсы.

Добавлено через 6 минут
на заметку wikipedia.org/wiki/Windows_Presentation_Foundation
1
Spectral-Owl
567 / 547 / 151
Регистрация: 29.06.2010
Сообщений: 1,574
Завершенные тесты: 1
10.10.2013, 12:35 #4
Цитата Сообщение от Dexa Посмотреть сообщение
Явных минусов в Presentation Foundation не нашел
нет MDI... по крайней мере их не нашел я)
0
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
10.10.2013, 12:56 #5
Цитата Сообщение от Spectral-Owl Посмотреть сообщение
нет MDI... по крайней мере их не нашел я)
Ну это не минус. Можно воспользоваться сторонними контролами, если так уж нужны, а вобще там своих фич хватает, так что мди и не нужны.

Добавлено через 8 минут
Цитата Сообщение от Spectral-Owl Посмотреть сообщение
нет MDI... по крайней мере их не нашел я)
0
BORIS_HERE
16 / 16 / 7
Регистрация: 22.02.2013
Сообщений: 237
10.10.2013, 16:08 #6
Цитата Сообщение от Dexa Посмотреть сообщение
Clip="M1.5,16C1.5,7.99187112745349,8.2157287525381,1.5,16.5,1.5L133.5,1.5C141.784271247462,1.5 148.5,7.99187112745349 148.5,16 148.5,24.0081288725465 141.784271247462,30.5 133.5,30.5L16.5,30.5C8.2157287525381,30.5,1.5,24.0081288725465,1.5,16z"
Я так понимаю, ЭТА хрень задаёт округлость?
Только начал изучать WPF, такие циферки определённо добавляют оптимизма))))
0
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
10.10.2013, 16:47 #7
Цитата Сообщение от Spectral-Owl Посмотреть сообщение
нет MDI... по крайней мере их не нашел я)
Цитата Сообщение от BORIS_HERE Посмотреть сообщение
Я так понимаю, ЭТА хрень задаёт округлость?
Только начал изучать WPF, такие циферки определённо добавляют оптимизма))))
Да, и не обязательно округлость, можно задать любую форму, хоть в форме кляксы, в exspression disign эта «хрень» делается просто мышкой, можно нарисавать любой контур и юзать его, разумеется можно было сделать простой эллипс, но меня тот вид не устроил. Еще можно просто скруглить углы, возможностей уйма.
0
BORIS_HERE
16 / 16 / 7
Регистрация: 22.02.2013
Сообщений: 237
10.10.2013, 17:18 #8
Цитата Сообщение от Dexa Посмотреть сообщение
exspression disign
это что и где?

Добавлено через 24 минуты
Цитата Сообщение от BORIS_HERE Посмотреть сообщение
Сообщение от Dexa
exspression disign
это что и где?
Сам нашёл: Microsoft Expression Design, Microsoft Expression Blend для графики в WPF. Что установить, с чего начать?
0
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
10.10.2013, 17:22 #9
Цитата Сообщение от BORIS_HERE Посмотреть сообщение
это что и где?
lmgtfy.com/?q=expression+design

Добавлено через 1 минуту
ooops, не успел.
0
MolodoyCoder
35 / 14 / 2
Регистрация: 02.09.2013
Сообщений: 565
10.10.2013, 19:16  [ТС] #10
Цитата Сообщение от Dexa Посмотреть сообщение
Главный козырь это возможность изменять контролы до неузнаваемости. Так например если Вам в формах надо будет создать листбокс с картинкой в айтеме, заголовком и текстом, то прийдется долго топтать батоны, в wpf это можно сделать “практически„ одной мышкой. Что косается формы, например сделать округлую кнопку в форме можно, но сложно, в xaml
XML
1
        <Button Content="округлая кнопка" Height="32" HorizontalAlignment="Right" Margin="0,0,12,5" Name="button1" VerticalAlignment="Bottom" Width="150" Clip="M1.5,16C1.5,7.99187112745349,8.2157287525381,1.5,16.5,1.5L133.5,1.5C141.784271247462,1.5 148.5,7.99187112745349 148.5,16 148.5,24.0081288725465 141.784271247462,30.5 133.5,30.5L16.5,30.5C8.2157287525381,30.5,1.5,24.0081288725465,1.5,16z" Grid.Row="1" />
разумеется что эти цифры высчитывать не надо, можно заюзать экспрессион. Отдельная тема это быстродействие. В формах за все в ответе процессор, а в wpf за логику отвечает процессор, а за диз видюха. Также стоит обратить внимание на раздиление дизайна и логики. Сам диз могут делать дизайнеры, а логику прогеры. Недостаток форм в том что они уходят в историю. В студии 2012 например, для c++ формы уже убраны, для шарпа еще есть, но нового ни чего и я не удевлюсь когда форм не будет и для шарпа. Явных минусов в Presentation Foundation не нашел. Разве что только несколько не удобно при переходе от форм к новой технологии, но это только первых дня два-три, а дальше одни плюсы.

Добавлено через 6 минут
на заметку wikipedia.org/wiki/Windows_Presentation_Foundation
Интересно, а зачем они добавили возможность редактировать именно XAML ? А не нормальный убодный текст ? дело в том что это не очень удобно.
Длинна строк иногда большая. Ну конечно там работает intelliscience...Или же многое правиться гуйно.Но можно было бы сделать простой текстовый
ресурс для кодинга а вот XAML генерить по нему, где-то параллельно ? Ведь XAML это чисто для потенциального мультриплатформинга...как и любой XML подобный принцип тегов, не вязнущих на конкретной платформе. Просто чисто сам XML подобный код разметки для глаз, не айс. Рябит в глазах.
Я попробовал WPF только 2 часа. Всё освоить методом тыка не получилось. Походу там события роутяться. Т.е. мыслить приходиться по другому. От нутрей по дереву наружу, с наружи к нутрям...И т.д.
Книги есть. Всё нашел. Но уж очень они сухие, технические. Т.е. порог входа будет больше (лично для меня) чем в простейший WinForms. Жаль, что WinForms оставили похоже в GDI+ кажется...
0
sau
1795 / 1519 / 234
Регистрация: 22.07.2011
Сообщений: 5,745
Завершенные тесты: 1
10.10.2013, 20:06 #11
У меня порог входа занял ровно один день )
Там все просто , роутинг событий и т.п - это если свой контрол пишете , да и то , добавить одно второстепенное свойство не так уж и сложно.

http://professorweb.ru/my/WPF/base_WPF/level1/info_WPF.php
- тут базовый уровень достаточно разжевали , хватит что бы понять что к чему.
1
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
10.10.2013, 20:18 #12
Цитата Сообщение от MolodoyCoder Посмотреть сообщение
Интересно, а зачем они добавили возможность редактировать именно XAML ? А не нормальный убодный текст ?
А где Вы прочитали что писать этот «нормальный убодный текст» запрещено? В wpf также можно добовлять контролы динамически из кода или прописать их в коде жестко. Хотя как по мне так проще xaml чем многострочный код. Хотя первый день у меня были теже мысли что и у Вас, но сейчас меня на формы и не тянет.
0
_Mutex
Заблокирован
12.10.2013, 09:48 #13
пишите дальше мордочки на WF, не стоит.
0
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
12.10.2013, 12:46 #14
Цитата Сообщение от _Mutex Посмотреть сообщение
…не стоит.

Не по теме:

у кого?

0
MolodoyCoder
35 / 14 / 2
Регистрация: 02.09.2013
Сообщений: 565
12.10.2013, 22:30  [ТС] #15
Мало времени. Сегодня дома (правда в MS VS 2010 EXPRESS) чуток попробовал WPF.
Ну, в общем то:
1.БЫстрый интерфейс это - плюс
2.Гибкость это - плюс
3 XAML это спорно. Но по мере привычки, вроде ничего так. Только длинные строки горизонтальной прокруткой нудно крутить. Немного бесят <> </> . Пестро как-то. Но вроде по другому особо то и никак.
Очень порадовало что WPF DataGrid не тормозит. Сделал 50 столбцов и 1500 строк рандомно для пробы.
У нас в WinForms используются dataGridView но они подтормаживают уже на col22x18rows
А тут такая скорость!
Рулез, однозначна!

Добавлено через 5 минут
Единственное что пугает с WPF:
Не хочу что бы дизайнер мне делал меню. Потому что если это будет быдло-меню, или блондинко-меню,
то я начну тупеть и эстетически гибнуть. Ну представьте, что блондинко вам сделает такой контрол:
Сохранить в файле N1
Сохранить в файле N2
Это же мрак! Т.е. меню должен делать программер. ИМХО. Потому что программер логичен, последователен и, если старается, не избыточен. Т.е. интерфейс как и код, должен быть не избыточен, не конфликтен, понятен...
Еще один момент которые меня пугает:
WPF как я понял, в будущем породит пестрые дико разные мордочки. Простые юзеры будут дольше разбираться в таких индивидуальных красотах. Все это может привести к некоторому бардаку и убить школу строгих, продуманных и функциональных, интуитивных интерфейсов пользователя.
0
Konctantin
939 / 743 / 170
Регистрация: 12.04.2009
Сообщений: 1,700
13.10.2013, 01:23 #16
У нас в WinForms используются dataGridView но они подтормаживают уже на col22x18rows
А вот у меня и на 10000*50 не тормозит.
Или вы все в лоб делали? DoubleBuffered = true все решает.
0
MolodoyCoder
35 / 14 / 2
Регистрация: 02.09.2013
Сообщений: 565
13.10.2013, 09:58  [ТС] #17
Цитата Сообщение от Konctantin Посмотреть сообщение
А вот у меня и на 10000*50 не тормозит.
Или вы все в лоб делали? DoubleBuffered = true все решает.
DoubleBuffered делал.
И данные в DataTable хранятся, естественно, а не в dataGridView.
dataGridView просто забинден с DataTable..
И самое смешное, что на виртуальной машине, с XP - не тормозит!
А на том же компьютере, но уже в хостинговой Windows7 - подтормаживает!
Платформа сборок - 4.0
P.s.
тормозит dataGridView когда уже заполнен. И пользователь его прокручивает.
0
Konctantin
939 / 743 / 170
Регистрация: 12.04.2009
Сообщений: 1,700
13.10.2013, 12:00 #18
так делали?
C#
1
2
3
4
5
6
7
8
9
public class DataGridViewEx : DataGridView
{
    public DataGridViewEx()
        : base()
    {
        base.DoubleBuffered = true;
        base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
    }
}
1
MolodoyCoder
35 / 14 / 2
Регистрация: 02.09.2013
Сообщений: 565
13.10.2013, 13:06  [ТС] #19
Цитата Сообщение от Konctantin Посмотреть сообщение
так делали?
C#
1
2
3
4
5
6
7
8
9
public class DataGridViewEx : DataGridView
{
    public DataGridViewEx()
        : base()
    {
        base.DoubleBuffered = true;
        base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
    }
}

Нет.
Но с вашей помощью тот-час же сделал.
Прокрутка работает гораздо быстрей. Спасибо!.
Я добавил это в новый файл-класс.
Получился свой компонент (как я понял), на основе базового библиотечного.(Наследие)
Поместил его на форму.Заменил в коде DataGridView1 на DataGridViewEx1.И всё заработало быстро!

Кстати, попробовал без "base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);"
и всё равно летает! Значит, смысл был в том, что бы сделать это до создания формы ?

Чего же в Microsoft по умолчанию не засунули это в класc DataGridView ?
0
Konctantin
939 / 743 / 170
Регистрация: 12.04.2009
Сообщений: 1,700
13.10.2013, 16:00 #20
Кстати, попробовал без "base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);"
немножко не так написал пример:
C#
1
2
3
base.DoubleBuffered = true;
// или
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
0
13.10.2013, 16:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 16:00

Интересует мнение по поводу процессора
В общем так. Как думаете как долго I7 2600 будет актуален, и насколько он...

Интересует мнение в выборе ноутбука!
Всем привет! Подскажите, кому не сложно, какой ноутбук выбрать. Ожидаемые...

ThermalTake интересует ваше мнение...
Что можете сказать про блоки от ThermalTake интересует ваше мнение...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru