2012-03-16 2 views
0

За последние пару дней я читал десятки сообщений повсюду об этом. У меня есть пара WPF-форм, которые я хочу работать с большинством резолюций, проблема в том, что элементы управления в формах становятся неуместными или выглядят плохо, когда они увеличиваются по размеру.Изменение размера элементов управления в синхронизации с размером окна

В настоящее время я использую сетки, все в порядке и сохраняю мои элементы управления в основном на месте, но они занимают много времени (у меня около 15 приложений), а также похожи только на оригинальный дизайн, например. некоторые из элементов управления по-прежнему выглядят растянутыми, и дизайн страдает.

Вот пример одного из моих сетей

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="156*" /> 
    <ColumnDefinition Width="323*" /> 
</Grid.ColumnDefinitions> 

<Grid.RowDefinitions> 
    <RowDefinition Height="72" /> 
    <RowDefinition Height="49" /> 
    <RowDefinition Height="49" /> 
    <RowDefinition Height="43" /> 
    <RowDefinition Height="91" /> 
    <RowDefinition Height="90" /> 
    <RowDefinition Height="90" /> 
    <RowDefinition Height="92" /> 
    <RowDefinition Height="50*" /> 
</Grid.RowDefinitions> 

То, что я действительно ищу хорошее расположение и управление для обеспечения достойного пользовательского интерфейса, что других альтернатив существует для изменения размера содержимого окна с Это? Я даже готов вернуться к формам окон, если есть лучший способ сделать это, поскольку сетки, похоже, ограничивают элементы управления. Я буквально искал то же самое, что и вначале, когда приложение загрузилось по умолчанию (примерно 500x500).

Большое спасибо за помощь.

+0

Я бы сказал, что рассмотрим классы [Panel] (http://msdn.microsoft.com/de-de/library/ms754152.aspx) и попробуйте объединить их для достижения того, чего вы хотите. – nik

+1

Итак, что не так с вашими определениями столбцов и строк выше? Очевидно, что не-звездные ряды будут иметь одинаковую высоту, но все остальное должно масштабироваться. Является ли проблема с содержимым ячеек? В этом случае вам также нужно будет показать свою разметку. –

ответ

0

Ваши колонны и ваш последний ряд используют размер звезды, что приведет к растягиванию ячеек, чтобы заполнить свободное пространство. В зависимости от значения HorizontalAlignment и VerticalAlignment, на элементах управления (по умолчанию зависит от управления), они могут растягиваться, чтобы заполнить все доступное пространство (или они могут центрировать или растягиваться только в одном направлении).

Я подозреваю, что размер звезды непреднамерен, но это может быть то, что вы хотите, просто используется по-другому. Вы также можете найти «Авто» размер полезной. Ниже приведены объяснения ваших параметров калибровки для сетки: http://blogs.msdn.com/b/wpfsldesigner/archive/2010/01/14/wpf-silverlight-layout-controls.aspx#grid

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