|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Скажем, у меня есть WPF-приложение и такой код (что он делает - неважно, просто любой код): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Я хочу, чтобы в каждом моём приложении был такой код, без ручного копирования. Как это лучше всего сделать? Читал про базовый класс для App (который наследуется от Application), но там какие-то проблемы - то с файлом App.g.i.cs, то с App.xaml. Ну и желательно, чтобы не только для WPF был пригоден подход, но и для консольных и других типов приложений. Но тут хотя бы для WPF пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2016, 06:13 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Так, собственно, подход для любого типа приложения стандартный - в решение добавляется библиотека классов и используется совместно всеми решениями, WPF - не исключение ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2016, 00:05 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Dude42но там какие-то проблемы - то с файлом App.g.i.cs, то с App.xamlничто не мешает создавать экземпляр приложения напрямую http://professorweb.ru/my/WPF/UI_WPF/level7/7_1.php ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2016, 00:14 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Dude42, оформите NuGet пакет и имейте его где пожелаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2016, 00:42 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
можно свои Template'ы создавать, как для части проектов, так и в качестве проекта. И тот, и другой могут быть многофайловым. Сам пользуюсь парой шаблонов, чтоб не создавать каждый раз одно и тоже ручками ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2016, 08:20 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Roman Mejtesможно свои Template'ы создавать, как для части проектов, так и в качестве проекта. И тот, и другой могут быть многофайловым. Сам пользуюсь парой шаблонов, чтоб не создавать каждый раз одно и тоже ручками Можете привести пример или ссылку на пример? skyANADude42, оформите NuGet пакет и имейте его где пожелаете. Тоже, можете привести ссылку, как это сделать - создать пакет такой со своим шаблоном? Но вообще, я бы хотел только с помощью свойств языка. Я бы вообще не видел проблем - базового класса, на мой взгляд, должно хватать с лихвой. Но тут всякие сложности - разделили класс приложения на два, поэтому, если создать свой и отнаследоваться, то надо в каждом новом проекте руками удалять App.g.i.cs и прочие настройки делать, которые сделал за меня шаблон "WPF Application". Т. е. получается, что без своего шаблона не обойтись? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 09:14 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Про ссылки - я, пожалуй, сам погуглю. Что это я, хехе. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 09:15 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Dude42Но вообще, я бы хотел только с помощью свойств языка. Я бы вообще не видел проблем - базового класса, на мой взгляд, должно хватать с лихвой. Но тут всякие сложности - разделили класс приложения на два, поэтому, если создать свой и отнаследоваться, то надо в каждом новом проекте руками удалять App.g.i.cs и прочие настройки делать, которые сделал за меня шаблон "WPF Application". Т. е. получается, что без своего шаблона не обойтись?Повторю, использовать XAML в WPF никто не заставляет. Можно ВСЁ делать исключительно кодом, в том числе и класс приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 09:20 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Shocker.ProПовторю, использовать XAML в WPF никто не заставляет. Можно ВСЁ делать исключительно кодом, в том числе и класс приложения.При этом двухкомпонентные юзерконтролы например (xaml+cs), я без проблем выносил в отдельную библиотеку, выносить ресурсные словари также никто не запрещает, двухкомпонентный application выносить не пробовал, но думаю, что тоже проблем не должно возникать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 09:23 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Shocker.ProDude42Но вообще, я бы хотел только с помощью свойств языка. Я бы вообще не видел проблем - базового класса, на мой взгляд, должно хватать с лихвой. Но тут всякие сложности - разделили класс приложения на два, поэтому, если создать свой и отнаследоваться, то надо в каждом новом проекте руками удалять App.g.i.cs и прочие настройки делать, которые сделал за меня шаблон "WPF Application". Т. е. получается, что без своего шаблона не обойтись?Повторю, использовать XAML в WPF никто не заставляет. Можно ВСЁ делать исключительно кодом, в том числе и класс приложения. Ну, я столкнулся с такой проблемой, что если не написать в замле класса App такое подключение ресурсов Код: xml 1. 2. 3. 4. 5. 6.
то флюэнтовские стили не будут применяться к их контролам. Ну и кодом всё делать - всё же, я не для того WPF учил, чтобы всё делать в сител Win Forms. Да и просто могут потребовать всякие дизайнеры, чтобы в замле был интерфейс размечен. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 09:56 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Shocker.ProDude42но там какие-то проблемы - то с файлом App.g.i.cs, то с App.xamlничто не мешает создавать экземпляр приложения напрямую http://professorweb.ru/my/WPF/UI_WPF/level7/7_1.php Вот это можно делать во всех "родственных" приложениях: Forms, WPF, UWP? Я во всех них могу единообразно подписаться на AppDomain.CurrentDomain.UnhandledException, вызвать свой ServiceInjector.InjectServices() и сделать тому подобные базовые инициализации? Или в каждом типе приложений свой подход к обработке необработанных исключений и прочих "базовых инициализациях"? Т. е. я могу написать общий класс для всех таких типов оконных приложений в .NET или лучше создать, как тут советовали, базовый темплейт для каждого типа, где в соответствии со спецификой каждого типа приложения раскидать эти свои обработки необработанных исключений, инициализацию сервисов и прочий "инициализирующий" код? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 10:00 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Dude42"родственных" приложениях "Родственных" - в смысле "оконных", "дотнетовских". Не знаю, как ещё сказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 10:01 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Почитал про шаблоны - похоже, это то, что мне нужно. Т. е. это будет проще, чем делать свой базовый класс App для WPF-приложения с учётом всех заморочек дефолтного шаблона. Т. е. я создаю новое приложение WPF по дефолтному шаблону, добавляю в него код из моего первого поста и сохраняю как новый шаблон. Теперь каждое новое WPF-приложение я начинаю со своего нового шаблона. Правильно я понимаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 10:18 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Ну и так для каждого типа проекта: создаю UWP по дефолтному шаблону, добавляю нужный мне "базовый" код и сохраняю как новый шаблон. И т. д. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 10:19 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Shocker.ProDude42но там какие-то проблемы - то с файлом App.g.i.cs, то с App.xamlничто не мешает создавать экземпляр приложения напрямую http://professorweb.ru/my/WPF/UI_WPF/level7/7_1.php Да, это я тоже прочитал. Но штука в том, что это всё равно же придётся оформить в виде шаблона, чтобы каждый раз не править руками дефолтные файлы - базового "пустого" WPF-прилоежния же нет, есть только с созданием App:Application. А мне, по сути, не надо свои огороды городить - надо просто добавить некоторый начальный код в каждое своё новое приложение. Поэтому свой шаблон на основе дефолтного шаблона будет проще и быстрее, по-моему, для решения моей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 10:25 |
|
Каким образом можно заиметь общий код в приложении WPF?
|
|||
---|---|---|---|
#18+
Dude42, ну примерно, при чем можно в шаблоне использовать собственные сборки, но их надо добавить в GAC (сборки для генеренации, а не для подключения). К примеру у меня есть шаблон компонента, я просто ввожу название компонента, а все файлы которые добавляются в проект (ресурсы, модели и прочее) само создается, с нужными названиями и нужным содержимым ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 10:25 |
|
|
start [/forum/topic.php?fid=21&fpage=11&tid=1440659]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 147ms |
0 / 0 |