Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2015, 17:12   #1
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию WPF. Разные размеры одного и того же окна.

Вот создал я проект. В окно Window поместил кнопку с выравниванием "верх-лево" и до нижней границы окна осталось у меня 20 пикселей. Когда запускаю приложение, то картина не радует совсем - до нижней границы осталось не 20px, а 10px. Сделал вывод, что 10px ушло на расширение границ окна, так как они имеют разную ширину при проектировании и при выполнении приложения. Вопрос: можно ли избавиться от этой дряни? А то проектируешь приложение проектируюшь вплоть до пиксела, а при запуске - хренакс! И, если нельзя ничего изменить с этим, можно ли просто опустить границу на несколько пикселей ниже и что при этом будет с приложением при запуске на различных мониторах с разными разрешениями?
Нашел один способ: если у Grid'a поставить Margin, например, 10, а у окна выставить параметр SizeToContent = WidthAndHeight, то будет оставаться наши запасные пиксели. Подходит в моем случае, когда сжатие по ширине или высоте не критично для содержимого. Но хотелось бы узнать более рациональный подход. Может еще какое свойство специальное есть?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"

Последний раз редактировалось ImmortalAlexSan; 21.06.2015 в 17:21.
ImmortalAlexSan вне форума Ответить с цитированием
Старый 21.06.2015, 17:50   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Margin вообще-то именно для этого и придуман, так что все норм
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 21.06.2015, 17:59   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

"Выравниванием верх-лево" это как вообще? Это ж в винформс был Anchor, в WPF по-другому.

И советую забить на дизайнер (в смысле таскания кнопок и прочего), писать просто XAML самому, как в HTML.

В WPF, кстати, не px, а Device independent pixel.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 22.06.2015 в 00:00.
Alex11223 вне форума Ответить с цитированием
Старый 21.06.2015, 19:19   #4
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Цитата:
Device independent pixel.
Вот именно по этому и заботил вопрос об отображении на других машинах.
Цитата:
Margin вообще-то именно для этого и придуман, так что все норм
В любом случае, если хочешь сохранить разметку на форме в таком виде, как в дизайнере, нужно корневой элемент выравнивать и никак иначе. А уже внутри него можно делать что хочешь и ничего никуда не съедит, как бы не менялось содержимое или границы формы, главное свойство SizeToContent установить как выше написал.
В любом случае, спасибо.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 21.06.2015, 23:08   #5
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
"Выравниванием верх-лево" это как вообще?
Это VerticalAlignment и HorizontalAlignment

Разметка в большинстве случаев будет один-в-один с дизайнером (если нет хитрых биндингов и/или изменений разметки в коде). Размеры окна остаются прежними, а вот рамка по умолчанию регулируется системой. Если хочется заморочиться, то можно переопределить стиль окна, ControlTemplate в частности
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повторное вхождение одного и того же числа (C) Alexandr- Помощь студентам 1 07.09.2013 21:27
Размеры окна и QGraphicsScene, Qt. Lunex.08 Qt и кроссплатформенное программирование С/С++ 8 13.06.2011 09:46
скачивание одного и того же файла несколько раз. Miha1986 Работа с сетью в Delphi 1 16.01.2011 21:36
Несколько DLL. Использование одного и того же подуля. Selestis Lazarus, Free Pascal, CodeTyphon 1 07.01.2011 13:25
Изменить размеры окна программы КамТерДал Microsoft Office Excel 6 08.10.2009 14:47