2010-02-09 4 views
0

HI, мне нужно иметь независимый интерфейс разрешения в приложении silverlight. Будет ли это поддерживать неявно или следует ли позаботиться о том, чтобы сделать код ScaleTransform в коде?проблема с разрешением в silverlight

будет ли он поддерживать несколько браузеров?

Заранее спасибо.

+0

Резолюция независимая? Рассматривали ли вы настройку вертикального и горизонтального выравнивания контейнеров на «растягивание».Обычно это заполняет пространство, доступное контейнеру. – Johannes

ответ

2

Вы можете использовать элемент управления ViewBox в Silverlight Toolkit для преобразования масштаба. Он будет работать на всех поддерживаемых браузерах.

Вы также можете установить ширину и высоту UserControl в Auto (или удалить их), а затем настроить свой пользовательский интерфейс (но не изменять размер) для правил, которые вы настроили (как правило, с помощью Grid-управления).

0

Хорошо, я решил, что я опишу все методы, которые вы можете использовать неявные методы, которые 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.

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