Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Контейнер. Содержит любое количество вложенных компонентов. Каждый вложенный компонент добавляется на экран в соответствие с очередностью, заданной в разметке. При добавлении вложенного компонента, его положение вычисляется на основе заданного для него же стиля dock-align. После этого свободное место, для расположения следующего вложенного компонента, уменьшается на величину занятого предыдущим вложенным компонентом места.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
Блок кода
languagexml
themeEclipse
<c:DockLayout Visible="false"/>
Блок кода
language
js
c#
themeEclipse
function
void Hide(DockLayout control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
Блок кода
languagexml
themeEclipse
<c:DockLayout CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или
скрипта. Так же задавать значение идентификатора необходимо для сохранения состояния некоторых визуальных компонентов при возврате по бизнес процессу.
кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
Блок кода
languagexml
themeEclipse
<c:DockLayout Id="
main
dlMain"/>
Блок кода
language
js
c#
themeEclipse
function HideMain() {
	
$.main
((DockLayout)Variables["dlMain"]).Visible = true;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
Блок кода
language
xml Блок кода
languagejs
themeEclipse
function HideRoot(
c#
themeEclipse
<c:Button OnClick="$Hide($main.Parent)"/>
void HideParent(DockLayout control) {
	
$
control.
main
Parent.
Parent
Visible = false;
}
-
Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
Блок кода
language
js
c#
themeEclipse
function
void 
HideContent
HideButtons(
sender
DockLayout control) {
	
for
foreach(
control
var ctrl in 
sender
control.Controls)
		
control
((Button)ctrl).Visible = false;
}
-
OnClickфункцияразметкаЗадает ссылку на функцию
из основного контроллера
обработчик, вызываемую при нажатии на кнопку. Первым параметром в функцию передается ссылка на объект DockLayout (sender)
, последующим - объекты переданные в разметке.
Блок кода
languagexml
themeEclipse
<c:DockLayout OnClick="
$Print($editOutlet.Text)
DlMain_Click"/>
Блок кода
language
js
c#
themeEclipse
function
void 
Print
DlMain_Click(object sender, EventArgs 
text
e) {
	
Dialog.Message
((
text
DockLayout)
;
sender).Visible = false;
}
-
OnClickActionфункцияразметка
Задает ссылку на функцию из основного контроллера, вызываемую при нажатии на кнопку.
Блок кода
languagexml
themeEclipse
<c:DockLayout OnClick="$Print($editOutlet.Text)"/>
Блок кода
languagejs
themeEclipse
function Print(text) {
	Dialog.Message(text);
}
-
OnEventстрока**разметкаЗадает событие, при выполнении которого будет вызвана функция, указанная в свойстве OnClick
или OnClickAction
. Пример события: Back - вызывается при нажатии на кнопку "Назад" в Android устройствах.
Блок кода
languagexml
themeEclipse
<c:DockLayout OnClick="
$DoBack()
DlMain_Click" OnEvent="Back"/>
 -
SubmitScopeстрока**разметка и скрипт

Задает область валидации. Возможные значения: "all" - проверяются все компоненты окна; список идентификаторов компонентов через знак ";". Обратите внимание: постусловием для контейнеров является выполнение всех постусловий его потомков.

Блок кода
languagexml
themeEclipse
<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()Перерисовывает элемент управления, вызов необходим при смене стилей. 
Блок кода
languagec#
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
Блок кода
languagec#
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);
	}
 }
 
     

Стили