разрешение проблемы в Silverlight - PullRequest
0 голосов
/ 09 февраля 2010

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

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

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

Ответы [ 2 ]

2 голосов
/ 09 февраля 2010

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

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

0 голосов
/ 10 февраля 2010

Хорошо, я подумал, что опишу все методы, которые вы можете использовать неявными методами, которые Silverlight позволяют задавать размеры.

Если вы определяете что-либо, используя параметр Stretch для опции VerticalAlignment в элементе управления:

<TextBox Grid.Column="0" Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>

UIElement растянется, чтобы занять все доступное ему пространство в родительском элементе управления. Другой параметр, такой как этот, должен сделать что-то вроде определения ширины столбца сетки или высоты строки следующим образом:

<ColumnDefinition Width="*"/>

Это займет все пространство, доступное на экране.

Вы можете увеличивать столбцы и строки сетки в виде отношения:

<RowDefinition Height="3*"/> <RowDefinition Height="2*"/>

Это увеличит высоту первого ряда на 3 пикселя на каждые 2 пикселя, на которые нарастает второй.

Тогда вы можете иметь такие опции, как Auto

<ColumnDefinition Width="Auto"/>

Это увеличит UIElement в соответствии с требованиями к размеру. Если дочерний элемент элемента требует большего размера, элемент займет больше места на экране.

И наконец:

<TextBox Grid.Column="1" Grid.Row="0" Height="100" MinWidth="200" MaxWidth="400" x:Name="text"/>

Это фиксированные значения, которые гарантируют, что при любом разрешении элемент будет занимать не более 400 пикселей в ширину, но не менее 200 пикселей. Это также указывает на то, что высота элемента всегда должна составлять 100 пикселей. Это полезно для таких элементов, как кнопки и т. Д., Которые не нужно увеличивать или уменьшать при изменении разрешения.

Наконец, вы, вероятно, захотите обернуть ScrollViewer вокруг всего, просто чтобы обеспечить возможность прокрутки элементов вне экрана. Это может произойти, когда вашему виду требуется больше места, чем доступно на экране, или если элементы установлены на Auto.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...