Контейнер. Содержит любое количество вложенных компонентов. Каждый вложенный компонент добавляется на экран в соответствие с очередностью, заданной в разметке. При добавлении вложенного компонента, его положение вычисляется на основе заданного для него же стиля dock-align. После этого свободное место, для расположения следующего вложенного компонента, уменьшается на величину занятого предыдущим вложенным компонентом места.
Свойства
Свойство | Тип* | Область | Описание | Пример | Версия |
---|
Visible | логический | разметка и скрипт | Задает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах | Блок кода |
---|
| <c:DockLayout Visible="false"/> |
|
jsfunctionvoid Hide(DockLayout control) {
control.Visible = false;
} |
| - |
CssClass | строка** | разметка | Задает название CSS класса, стили которого будут применяться к данному компоненту | Блок кода |
---|
| <c:DockLayout CssClass="main_row"/> |
| - |
Id | строка** | разметка | Задает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или |
скрипта. Так же задавать значение идентификатора необходимо для сохранения состояния некоторых визуальных компонентов при возврате по бизнес процессу.кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables | Блок кода |
---|
| <c:DockLayout Id=" |
|
mainjs$.main((DockLayout)Variables["dlMain"]).Visible = true;
} |
| - |
Parent | компонент | разметка и скрипт, только чтение | Возвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева. | |
xml Блок кода |
---|
|
function HideRoot(<c:Button OnClick="$Hide($main.Parent)"/> |
void HideParent(DockLayout control) {
|
|
$mainParent | - |
Controls | список | скрипт, только чтение | Возвращает список визуальных компонентов, вложенных в данный контейнер. | |
jsfunctionHideContentsenderforcontrolsendercontrol((Button)ctrl).Visible = false;
} |
| - |
OnClick | функция | разметка | Задает ссылку на функцию |
из основного контроллераобработчик, вызываемую при нажатии на кнопку. Первым параметром в функцию передается ссылка на объект DockLayout (sender) |
, последующим - объекты переданные в разметке. | Блок кода |
---|
| <c:DockLayout OnClick=" |
|
$Print($editOutlet.Text)jsfunctionPrintDlMain_Click(object sender, EventArgs |
|
textDialog.Messagetext;
sender).Visible = false;
} |
| - |
OnClickAction | функция | разметкаЗадает ссылку на функцию из основного контроллера, вызываемую при нажатии на кнопку. | Блок кода |
---|
| <c:DockLayout OnClick="$Print($editOutlet.Text)"/> |
Блок кода |
---|
| function Print(text) {
Dialog.Message(text);
} |
| - | OnEvent | строка** | разметка | Задает событие, при выполнении которого будет вызвана функция, указанная в свойстве OnClick |
или OnClickAction. Пример события: Back - вызывается при нажатии на кнопку "Назад" в Android устройствах. | Блок кода |
---|
| <c:DockLayout OnClick=" |
|
$DoBack()DlMain_Click" OnEvent="Back"/> |
| - |
SubmitScope | строка** | разметка и скрипт | Задает область валидации. Возможные значения: "all" - проверяются все компоненты окна; список идентификаторов компонентов через знак ";". Обратите внимание: постусловием для контейнеров является выполнение всех постусловий его потомков. | Блок кода |
---|
| <c:DockLayout OnClick="$DoForward()" SubmitScope="edtName; grValues"/>
<c:EditText Id="edtName" Required="true"/>
<c:HorizontalLayout Id="grValues">
<c:EditText Id="edtAddress" Length="20"/>
<c:EditText Id="edtUrl" Length="10"/>
<c:EditText Id="edtPhone" Length="11" Mask="[0-9]+"/>
</c:HorizontalLayout> |
| 2.3.3.107 |
* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа
...
* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа
** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.
Методы
Метод | Описание | Параметры | Пример | Версия |
---|
Refresh() | Перерисовывает элемент управления, вызов необходим при смене стилей. | | Блок кода |
---|
| void Btn_Click(object sender, EventArgs e)
{
Buttob btn = (Button)sender;
btn.CssStyle = "someNewStyle";
btn.Text = "Style changed";
btn.Refresh();
} |
| 3.0.0 |
AddChild() | Добавляет дочерний элемент управления в контейнер | object | Блок кода |
---|
| public class MainScreen : Screen
{
public override void OnLoading()
{
DockLayout dl = new DockLayout();
dl.CssStyle = "someStyle";
for(int i=0;i<3;i++)
{
Button btn = new Button();
btn.Text = String.Format("Button {0}", i.ToString());
btn.OnClick += Btn_Click
dl.AddChild(btn);
}
this.AddChild(dl);
}
void BtnClick(object sender, EventArgs e)
{
Button btn = (Button)sender;
DConsole.WriteLine(btn.Text);
}
} |
| |
| | | | |
Стили