Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Хочу сделать свой заголовок, в стиле как в Windows Store - приложениях. Сделал стиль окна None, приделал сверху свою полоску с кнопками - сверху торчит какая-то белая полоса (1). Зато в развёрнутом (Maximized) состоянии окно выглядит норм (2). Добавил AllowTransparency = True - полоска пропала (3), но теперь в развёрнутом состоянии кнопки уползли (см 4 по сравнению с 2). Как сделать нормально, что бы и без полоски, и кнопки не разбегались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 13:22 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
С ResizeMode не игрался? Дай тестовую разметку. На какой винде проявляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 13:44 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, CanResize пробовал менять. Если поставить CanMinimize или NoResize - всё становится ништяк, но окно теряет мозможность резайзиться. Хотя мои кнопки работают - оно разворачивается, сворачивается и т.д. Но надо ещё и ресайзить. Разметка: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. local:ucHeaderWin10Style - это, собственно говоря, мой заголовок (привожу без стилей, для краткости): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 13:53 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Windows 10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 13:53 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Воспроизвести на Win7 и Win8 не удалось, десятки под рукой пока нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 14:26 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, на семёре всё тотно так же воспроизвелось. Разве что вместо полоски сверху - есть полноценный бордюр по краю окна: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 14:41 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Вот как выглядит обычное окно (1), а вот как - Maximized (2): видно, что оно уползло на несколько пикселей наружу (как вверх, так и в сторону) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 14:44 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Код: xml 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. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 16:16 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Супер_Пав, а как окно-то ресайзить? ну и плюс - твоя реализация не учитывает наличие 4К мониторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 17:18 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Супер_Пав, но вообще, да, кнопки стали на место, только Margin не 5 а 6. Ещё бы ресайзить было можно. Пока поставил WinGrip, на грип - можно. Но за рамку нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 17:27 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
=WithGrip ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 17:30 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Супер_Пав, за идею с Binding WindowState - спасибо, сам не додумался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 17:43 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Без ResizeMode="CanResizeWithGrip" придется вручную делать: отлавливать положение курсора, нажатие клавиш мышки и тд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 17:59 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Супер_Пав, о окна есть метод Move() который запускает процесс перемещения формы, без всяких лишних выкрутасов. Сделать область перетаскивания окна, это просто контрол вызывающий этот метод у формы. Всё на уровне представления, без модели. Кнопки должны быть настроенный на команда из ApplicationCommand. Остается только системное меню, его вызов так же не сложно добавить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 20:17 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Roman MejtesСупер_Пав, о окна есть метод Move() который запускает процесс перемещения формы, без всяких лишних выкрутасов. Сделать область перетаскивания окна, это просто контрол вызывающий этот метод у формы. Всё на уровне представления, без модели. Кнопки должны быть настроенный на команда из ApplicationCommand. Остается только системное меню, его вызов так же не сложно добавить. ммм....не понял. Что за метод Move? Нет такого метода. Мы выше обсуждали изменение размеров формы, чтобы можно было растягивать за любую сторону. Возможно, Вы имели ввиду перемещение формы и метод DragMove. Про кнопки ничего не говорил, если это было замечание на мой пример, то это всего лишь пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 11:25 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Ну, в общем я тоже вначале сделал невидимый элемент сверху, и показывал его, когда заголовок сползал. Только я сделал через свойства и OnPropertyChanged, связать через {RelativeSource AncestorType=Window} не догадался - ещё не привык к этой архитектуре. Привязать Margin к WindowState, конечно, элегантнее. Но всё равно это костыль. Получается, сделать свой заголовок с Resizable рамкой без затычек нельзя. Это, конечно, sux. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 12:17 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Я не делаю замечаний, просто написал, так как не вижу это в реализации. Вы правы, не Move, в DragMove() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 14:18 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Желание сделать попроще привело к заведомо неправильному результату. Нужно а) полностью перестайлить окно, вынеся заголовок в адорнер окна; б) привязать заголовок к WindowChrome. Пример в аттаче, т.к. кода достаточно много для одного постинга. Пример является переделанным ModernWindow из FirstFloor.ModernUI , но там целый фреймворк с контроллерами стилей, и в общем не особенно нужными фичами, которые были удалены, а сам пример сокращен до минимума. Тестировалось на Win7 SP1 x64, и на Win10 - нет никаких проблем ни с резайнгом окна, ни с его перетаскиванием (причем для этого не потребовалось никаких телодвижений типа захвата мыши и проч.), и никакие белые полосы тоже не появляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 08:32 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
Сон Веры Павловны, а можно посмотреть на твой Maximized скриншот? У мня почему-то есть рамка: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 13:23 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
В maximized режиме вокруг заголовка появляется рамка в 1px. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 13:24 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
У меня в Maximazed рамки нет Win10, меняйте размер рамки при развёртывании :) Код: xml 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 14:03 |
|
||
|
Как сделать свой заголовок?
|
|||
|---|---|---|---|
|
#18+
13thВ maximized режиме вокруг заголовка появляется рамка в 1px. Это так определено в темплейте TitledWindow. Можно задать на все случаи нулевую толщину бордера, или сделать, как выше предложил Роман. В общем, всё есть в исходниках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 14:23 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=39668675&tid=1440411]: |
0ms |
get settings: |
6ms |
get forum list: |
7ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 8ms |
| total: | 87ms |

| 0 / 0 |
