2011-05-21 2 views
2

При разработке диалоговых окон WPF в дизайне XAML (которые не изменяются вручную пользователем) окна автоматически изменяются в соответствии с их содержимым, и все в порядке. Но когда я запускаю приложение, окна становятся огромными, и есть много пустого места.Автоматическое определение окон WPF

Я знаю, что это «функция» WPF, которая может быть «исправлена», установив тег SizeToContent, но возникает другая проблема, когда я это делаю: если, например, окно содержит текстовое поле, и пользователь вводит данные который переполняет видимую область, окно будет растягиваться, чтобы разместить ее. Это происходит со списками, treeviews, вы называете это.

Все, что я хочу, это Visual Studio, чтобы определить идеальный размер окна, который он показывает мне во время разработки, а затем установите, чтобы окно было таким размером во время выполнения и не меняло размер после этого. Похоже, это должно быть легко.

Редактировать: проиллюстрирована часть проблемы: у меня есть элементы управления, настроенные в сетке, а ширина столбца установлена ​​на «Авто», поэтому все изменяется.

ответ

1

Попробуйте установить высоту и ширину окна в положение «Авто». Также удалите атрибут SizeToContent. Это должно исправить это.

+0

Вот как я его установил сейчас, фактически. –

+0

Значит, у вас нет SizeToContent? – kevindaub

+0

Правильно, оно установлено на его автоматическое значение, «Manual». –

1

Я не думаю, что это это то, что обычно запрашиваемую так это, вероятно, не так легко сделать, один метод я могу думать о том, будет начинать с автоматическим SizeToContent и обработки Loaded события и настройки:

Height = ActualHeight; 
Width = ActualWidth; 
SizeToContent = System.Windows.SizeToContent.Manual; 
2

Использование View Box

окно видимости является очень полезным управления в WPF. Если это не что иное, как масштаб, чтобы соответствовать содержимому доступного размера. Он не изменяет размер содержимого, но преобразует его. Это означает, что все размеры текста и ширина линий были масштабированы. Это примерно такое же поведение, как если бы вы установили свойство Stretch на изображение или путь к униформе.

Хотя он может использоваться для любого типа управления, он часто используется для 2D-графики или подходит для масштабируемой части пользовательского интерфейса в области экрана.

Смежные вопросы