Наши проекты
Как то получилось что выкладывается код в ветках для обсуждения.
Поэтому сделал отдельно ветку только для этих целей.
https://foren.germany.ru/showmessage.pl?Number=37041076&Bo...
Ну всё что Вы привели это как-бы "старая технология", в контролах ВПФ для отрисовки используют грубо говоря специальный ХАМЛ с базовыми элементами
Вот начало только нашел
https://www.wpftutorial.net/HowToCreateACustomControl.html
вот пример как неправильно делать свой контрол
https://www.codeproject.com/articles/17830/creating-and-co...
вот правильный путь, но там нет ничего полезного
https://www.c-sharpcorner.com/UploadFile/41e70f/controlscu...
Вот немного больше, но примитивно
https://stackoverflow.com/questions/38842082/create-a-cust...
Всё нужно собирать по крупицам....
1)Нужно всё рисовать https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing... и https://docs.microsoft.com/ru-ru/dotnet/api/system.windows...
2)Прежде чем рисовать нужно вычислять высоту и ширину текста https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing..., всё не нужноке отсекать (допустим можно даже при изменение ширины колонки то что не вместилось показывать точки "...")
3)Нужно реализовать свою прокрутку https://www.codeproject.com/Articles/624997/Enhanced-Scrol... и https://gamedev.stackexchange.com/questions/86591/how-to-m...
4)Допилить вот это https://foren.germany.ru/showmessage.pl?Number=37041076&Bo... (drag-drop и resize что на C#)
5)Нужно уметь менять колонки местами https://professorweb.ru/my/csharp/charp_theory/level4/4_6...., т.е. если пункт 4. будет работать при drag drop поменять местами.
6)Не использовать LINQ(?!)
Вы смотрите явно не туда.
При прямой отрисовке у вас не будет ТЕМ, как минимум.
Загрузите демки: DexEx, Exceed, Telerik и прочее и гляньте. У всех именно так как я приводил ссылки
Единственно за что я переживаю, чтобы вы не работали опять много. Не знаю какая у вас там норма, но пожалуйста не переходите за нее.
Задача довольно сложная поэтому и нет бесплатных решений.
Я запустил Xceed WPF, исследовал эту программу спомощью Spy++ https://docs.microsoft.com/ru-ru/visualstudio/debugger/int..., Spy++ не показывает что-то дочерние окна, складывается впечатление что разработчики Xceed WPF полностью рисуют элементы.
Вот еще пример почему надо делать правильно.
Для вывода в колонку просто текста
<dxg:GridColumn FieldName="Name" ReadOnly="True"/>
А теперь с изображением. Без какой либо переделки самого грида
<dxg:GridColumn FieldName="Name" ReadOnly="True"> <dxg:GridColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Image Source="{Binding Path=RowData.Row.Image}" Width="16" Height="16" <TextBlock Text="{Binding Path=RowData.Row.Name}"/> </StackPanel> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn>
Для snoop удобно пользовать сtrl+shift + мышкой возить по элементам
Я с net выше 3.5 и с wpf слез, мне купили как-то давным давно Expression Studio и Expression Studio 2, я немного им занимался, потом немного занимался asp net mvc/razor 2017/2019, потом забросил, разочаровало что в Blend убрали 3D. Сейчас на VS 2008 SP1 сижу, он на виртуалке установлен, но Expression Studio не установлен, без Blend всё сложно, в VS2008 в проекте wpf я события не вижу, события ввиде атрибутов нужно в ручную самому в тэги вводить. Я попытаюсь установить ещё раз VS 2019 CE но только чуть позже.
Никогда не видел проектов на дот нете на WPF.
легаси проекты на c# это только winforms, так как они начинались во времена, когда wpf не было..
Специализированные решения для Enterprise Mobility - там Winforms only
Новые проекты - вспомогательные утилитки уровня отобразить данные из Oracle в гриде - тоже только winforms.
Потому что во первых так проще, во вторых обычно шарп программисты с wpf не работали.
Если кто-то найдется "слишком умный" и запилит ынтырпрайс на WPF, то он получит по шапке сверху.
Обычно такой самодеятельностью занимаются фраера - Oracle APEX или C#/WPF вместо повсеместных WinForms.
Результата не будет, деньги кассированы. Потом приходится переписывать на то, что "как у всех".
Зато мультимедийность, да.
но только чуть позже.
ну и замечательно. Тут никто с секундомером не стоит. Делайте только тогда когда самочувствие позволяет.
Не знаю только насколько blend поможет, отдельные части да можно посмотреть/добавить/изменить. Но вот всё в целом у меня не получается
Никогда не видел проектов на дот нете на WPF.
Странно, но они там есть
Новые проекты - вспомогательные утилитки уровня отобразить данные из Oracle в гриде - тоже только winforms.
Ну когда из деревни в город переберетесь возможно увидите.
Последний winforms проект был вероятно лет 5 назад у меня лично, а может и того больше. И с тех пор ни одного больше не видел.
во вторых обычно шарп программисты с wpf не работали.
тогда сложно назвать их шарп программистами
И в деревне и в городе проектов на WPF крайне мало. На indeed. Фактически это мертвая библиотека, которую никто не хочет изучать и использовать.
WinForms же гораздо больше, так как любой шарп программист знает ее, ее можно не указывать в требованиях.
Я спрашивал немцев, почему они до сих пор используют WinForms, а не WPF. Если коротко - WPF ist überflüssig
https://www.c-sharpcorner.com/article/what-is-the-future-o...
https://blog.submain.com/death-winforms-greatly-exaggerate...
https://medium.com/coderes/why-is-winform-still-not-dead-s...
Открывайте плиз новую тему, а не засирайте эту, если winforms вам еще интересен
Открывайте плиз новую тему, а не засирайте эту
Открывайте плиз новую тему, а не засирайте эту
Открывайте плиз новую тему, а не засирайте эту - Специально для непонятливых
Пожалуй лучшее обьяснение . И на русском.
И да, что за бред - сегодня не нужно учить WinForms? Простите, но каждый немецкий ацуби гуек начинает делать на формочках Windows. Из этого следует указанное выше - любой шарп программист автоматом знает "уже умерший и никому не нужный" WinForms.
Для изучения и притаскивания в проект новой сущности - WPF нужны веские причины. Какие именно? Порхающие бабочки на формах с 50 полями ввода? Ну, ОК. Ради них уже можно и нужно учить тоже "уже умершую" библиотеку.
Только вот своей "смерти " WinForms оставил кучу софта, который нужно подерживать. И кучу программистов, который его знают.
А вот WPF оставил... Демки с порхающими бабочками.. и больше ничего..
По вашим же ссылкам в комментариях люди говорят, что WPF более мертв, чем WinForms. Они живут не в "немецких деревнях", а в Америках. И там ощущаются проблемы с проектами на WPF.
Кроме того, вы различайте понятия "WPF умер" и "XAML умер".
Последнее неверно, на его базе созданы другие фреймворки, например UNO.
Но у них специальные кейсы, которые вообще говоря не относятся к задачам ынтырпрайза.
В ынтырпрайзе гораздо проще использовать WinForms. И для новых проектов тоже.
Ты посмотри на системные требования UNO для разработки.. Сейчас шарписты плюются от последних версий студии.
А на winforms можно разрабатывать даже без студии в sharpdevelop - его активно применяют в банках - ранорекс. Что гораздо быстрее.
С другой стороны софт на шарпе мы собираемся переписать на джаву изза дженкинса.
Угадайте с одного раза, почему ни моно, ни дотнеткоре не рассматривались как вариант создания кроссплатформенного ПО?
Типичная вакансия человека "со знаниями WPF"
Что как бе намекает на "ненужность" WPF
Такое ощущение, что в этой теме вы будете сами с собой тихо вести беседу.
Такое ощущение, что в этой теме вы будете сами с собой тихо вести беседу.
WPF себя очень хорошо чувствует в HMI/SCADA - https://habr.com/ru/post/248423/, это прям их нисша, на машинах которые вы ездиете, еду которую вы кушаете, это благодаря HMI/SCADA и WPF, целые города управляются WPF.
Есть такой Add-On: https://marketplace.visualstudio.com/items?itemName=Automa... и такой https://marketplace.visualstudio.com/items?itemName=vs-pub...
Дженкинс он как бе под линукс.
Ну, никто не мешает поставить его и на винду. Или именно под линукс компилировать надо было? Но тогда при чём тут дженкинс, если моно не тянет...
Может все мелкософтовские CLI утилитки просто жутко неудобно использовать? Или вы не знали что Дженкинс и под виндусями установить можно? Или ещё что-то?
Пока что причину "переписывать на Яву чтобы использовать Дженкинс" не понял.
Я все таки рекомендую Вам послать бевербунг на аусбильдунгплатц в какой нибуть немецкий банк.
Там надеюсь тебя обучат Devops-у как части современной разработки.
Хинт: весь стек девопс тулинга эксплуатируется ИСКЛЮЧИТЕЛЬНО по Линукс. Ни один вменяемый банк не будет эксплуатировать это под Windows.
Если в одной из pipeline нужно вызвать тесты верхней части пирамиды - то там нужно вызывать кучу вспомогательных тулзов по подготовке фикстур. И все они должны эксплуатироваться под Линукс - то есть написаны на Питон или Ява.