Хорошо, я решил, что я опишу все методы, которые вы можете использовать неявные методы, которые Silverlight позволяет указать размер.
Если определить что-либо с помощью параметра Stretch
для VerticalAlignment
опции в элементе управления:
<TextBox Grid.Column="0" Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
UIElement будет растягиваться, чтобы занять все пространство, доступное для этого в родительский элемент управления. Другой параметр, например, как это сделать что-то вроде определения ширины столбца сетки или высоту строки, как это:
<ColumnDefinition Width="*"/>
Это займет все доступное пространство на экране.
Вы можете вырастить столбцы и строки сетки в виде соотношения:
<RowDefinition Height="3*"/> <RowDefinition Height="2*"/>
Это будет расти высоты первого ряда по 3px для каждого 2px, что второй растет.
Тогда вы можете иметь такие опции, как Auto
<ColumnDefinition Width="Auto"/>
Это будет расти UIElement в соответствии с требованиями размера. Если дочерний элемент элемента требует большего размера, элемент занимает больше места на экране.
И наконец:
<TextBox Grid.Column="1" Grid.Row="0" Height="100" MinWidth="200" MaxWidth="400" x:Name="text"/>
Эти фиксированные значения и гарантирует, что при любой резолюции, что элемент не будет занимать более 400px в ширину, но не менее 200px. Он также указывает, что высота элемента всегда должна быть 100 пикселей. Это полезно для таких элементов, как кнопки и т. Д., Которые вы не хотите увеличивать или уменьшать при изменении разрешения.
Наконец, вы, вероятно, захотите обернуть ScrollViewer
вокруг всего, просто чтобы прокрутить элементы с экрана. Это может произойти, когда ваше представление требует больше места, чем доступно на экране, или имеет элементы, установленные на Auto
.
Резолюция независимая? Рассматривали ли вы настройку вертикального и горизонтального выравнивания контейнеров на «растягивание».Обычно это заполняет пространство, доступное контейнеру. – Johannes