Xml файлы, на основе которых строятся экраны

 Расположение: device/<application_name>/Screen/

Для того, что бы задать разметку для шага рабочего процесса необходимо установить значение атрибута Screen:

<bp:Workflow Name="Main" Controller="Main\Main.js">
	<bp:Step Name="Menu" Screen="Main.xml"/>
</bp:Workflow>

Обратите внимание, что в разметке экрана корневым элементов должен быть <c:Screen/>, а в разметке компонента - <c:Component/>.

Визуальные компоненты


Пространство имен: BitMobile.Controls.

Объявление по умолчанию: xmlns:c="BitMobile.Controls".

 

Button


 

Кнопка, обладающая базовой анимацией касания и стандартными свойствами отображения. 

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:Button Visible="false"/>
void Hide(Button btn) {
	btn.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:Button CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:Button Id="btnMain"/>
Button btnMain;
 
void HideMain() {
	btnMain.Visible = false;
}
 
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
<c:Button Id="btnMain" OnClick="BtnMain_Click"/>
void BtnMain_Click(object sender, EventArgs e) {
	btnMain.Parent.Visible = false;
}
 
OnClickфункцияразметкаЗадает имя функции обработчика события контроллера, вызываемого при нажатии на кнопку. Первым параметром в функцию передается ссылка на объект Button (sender).
<c:Button Id="btnMain" OnClick="BtnMain_Click"/>
void BtnMain_Click(object sender, EventArgs e) {
	((Button)sender).Visible = false;
}
-
Textстрока**разметка и скриптЗадает текст, отображаемый на кнопке.
<c:Button Text="#hello_world#" OnClick="BtnMain_Click"/>
void BtnMain_Click(object sender, EventArgs e) {
	((Button)sender).Text = "some text";
}
-
OnEventстрока** Задает событие, при выполнении которого будет вызвана функция, указанная в свойстве OnClick. Пример события: Back - вызывается при нажатии на кнопку "Назад" в Android устройствах.
<c:Button OnClick="BtnMain_Click" OnEvent="Back"/>
 -

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0

Стили

CheckBox


Нативный флажок.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах


<c:CheckBox Visible="false"/>


void Hide(CheckBox control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту


<c:CheckBox CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables


<c:CheckBox Id="cbMain"/>


private CheckBox cbMain;
 
void HideMain() {
	cbMain.Visible = true;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.


void HideParent(CheckBox control) {
	control.Parent.Visible = false;
}
-
Checkedлогическийразметка и скриптЗадает логическое состояние поля выбора.


<c:CheckBox Id="CbMain" Checked="True"/>


void ChangeSelection() {
	cbMain.Checked = !cbMain.Checked;
}
-
EnabledEnabledразметка и скриптЗадает доступность поля выбора


<c:CheckBox Id="CbMain" Checked="True"/>


void ChangeSelection() {
	cbMain.Checked = !cbMain.Checked;
}

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 


void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0

Стили

Component


 

Контейнер. Содержит не более одного вложенного компонента. Корневой элемент подключаемого компонента. (см. Include)

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:Component Id="main">
	...
</c:Component>
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

DockLayout


 

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

Свойства

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

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
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);
	}
 }
 
     

Стили

EditText


 

Однострочное поле ввода

Свойства

СвойствоТип*ОписаниеПримерВерсия
VisibleлогическийЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:EditText Visible="false"/>
void Hide(EditText control) {
	control.Visible = false;
}
 -
CssClassстрока**Задает название CSS класса, стили которого будут применяться к данному компоненту
<c:EditText CssClass="main_row"/>
-
Idстрока**Задает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:EditText Id="edtMain"/>
EditText edtMain;
 
void HideMain() {
	edtMain.Visible = false;
}
-
ParentкомпонентВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideRoot() {
	edtMain.Parent.Visible = false;
}
-
Textстрока**Задает текст, отображаемый в поле ввода.
<c:EditText Text="#helloworld#"/>
-
ValueпеременнаяЗадает свойство объекта, значение которого будет изменяться по мере ввода данных в поле.
<c:EditText Value="$orderitem.Qty"/>
-
OnChangeфункцияЗадает ссылку на функцию*** обработчик события, вызываемую при изменении содержимого поля. Первым параметром в функцию передается ссылка на объект EditText (sender)
<c:EditText OnChange="Edit_Change"/>
void Edit_Change(object sender, EventArgs e) 
{
	EditText ctrl = (EditText)sender;
	DConsole.WriteLine(ctrl.Text);
}
-
OnGetFocusфункцияЗадает ссылку на функцию*** обработчик события, вызываемую при выборе поля для редактирования. Первым параметром в функцию передается ссылка на объект EditText (sender).
<c:EditText OnGetFocus="Edit_OnFocus"/>
void Edit_OnFocus(object sender, EventArgs e) 
{
	DConsole.WriteLine("focus acquired");
}
-
OnLostFocusфункцияЗадает ссылку на функцию*** обработчик события, вызываемую при окончании редактирования. Первым параметром в функцию передается ссылка на объект EditText (sender).
<c:EditText OnLostFocus="Edit_LostFocus"/>
void Edit_LostFocus(object sender, EventArgs e) 
{
	EditText ctrl = (EditText)sender;
	DConsole.WriteLine("focus has been lost");
}
2.2.2.91
Length****числоЗадает постусловие: максимальная длина текста в поле при валидации.
<c:EditText />

Length="8"

-
Required****логическийЗадает постусловие: необходимость наличия текста в поле при валидации.
<c:EditText Required="true"/>
-
Mask****строка**Задает постусловие: регулярное выражение, применяемое при валидации. Для того, что бы проверять на соответствие всю строку, а не только ее часть, необходимо экранировать выражение символами начала(^) и конца строки($).
<c:EditText Mask="^\d+$"/>
-
AutoFocusлогическийЗадает необходимость получения фокуса компонентом при загрузке экрана. Если данное свойство задано для нескольких компонентов на одном экране, фокус получит первый.
<c:EditText AutoFocus="True"/>
-
Keyboardauto | default | numeric | email | url | phoneЗадает тип, выводимой при редактировании, клавиатуры. Если задано значение "auto", вид клавиатуры будет зависеть от типа данных, установленных в свойстве Value.
<c:EditText Keyboard="numeric"/>
-
Placeholderстрока**Задает текст-подсказку, отображаемый в пустом поле.
<c:EditText Placeholder="#search#"/>
-
EnabledлогическийЗадает доступность компонента для редактирования
 <c:EditText Enabled="False"/>
edtName.Enabled = false;
 2.4.0.110
NeedSecureлогическийЗадает необходимость скрытия символов, вводимых в поле
<c:EditText Id="AuthScreenPasswordET" Placeholder="#password#" NeedSecure="true"/>

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

*** - первым параметром в функцию передается ссылка на объект (sender), последующим - объекты переданные в разметке.

**** - данные свойства применяются при валидации

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей.
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0
SetFocus()Устанавливает фокус на данном элементе
function LayoutClick(sender){
	$.sender.Controls[0].SetFocus();
}
-

Стили

HorizontalLayout


 

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

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:HorizontalLayout Visible="false"/>
void Hide(HorizontalLayout control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:HorizontalLayout CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:HorizontalLayout Id="hlMain"/>
void HideMain() {
	hlMain.Visible = false;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideRoot() {
	hlMain.Parent.Visible = false;
}
-
Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
void HideButtons(HorizontalLayout control) {
	foreach(var ctrl in control.Controls)
		((Button)ctrl).Visible = false;
}
-
OnClickфункцияразметкаЗадает ссылку на функцию обработчик события, вызываемую при нажатии на кнопку. Первым параметром в функцию передается ссылка на объект HorizontalLayout (sender).
<c:HorizontalLayout OnClick="HL_OnClick"/>
void HL_OnClick(object sender, EventArgs e) {
	((HorizontalLayout)sender.Visible = false;
}
-
OnEventстрока** Задает событие, при выполнении которого будет вызвана функция, указанная в свойстве OnClick. Пример события: Back - вызывается при нажатии на кнопку "Назад" в Android устройствах.
<c:HorizontalLayout OnClick="HL_Click" OnEvent="Back"/>
 -

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
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()
	{
		HorizontalLayout dl = new HorizontalLayout();
		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);
	}
 }
 

Стили

HorizontalLine


 

Горизонтальная линия, выполняющая роль графического разделителя.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:HorizontalLine Visible="false"/>
void Hide(HorizontalLine control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:HorizontalLine CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:HorizontalLine Id="hlMain"/>
void HideMain() {
	((HorizontalLine)Variables["hlMain"]).Visible = false;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.

 

 

HorizontalLine hlMain;
 
void HideRoot() {
	hlMain.Parent.Visible = false;
}
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0

Стили

 

Image


 

Графическое изображение. Если высота или ширина не задана (равна нулю), этот параметр вычисляется на основе пропорций исходного файла.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:Image Visible="false"/>
void Hide(Image control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:Image CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:Image Id="imgMain"/>
void HideMain() {
	imgMain.Visible = true;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideParent() {
	imgMain.Parent.Visible = false;
}
-
Sourceстрока**разметкаЗадает путь к файлу изображения. Имеет больший приоритет, чем стиль.
 <c:Image Source="\public\logo.jpg"/>
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0
LoadFromStream()Загружает картинку из потокаSystem.IO.Stream
void Btn_Click(object sender, EventArgs e)
{
	System.IO.Stream s = Application.GetResourceStream("Image\Cats.jpg");
	imgMain.LoadFromStream(s);
	imgMain.Refresh();
}
 

Стили

Indicator


 

Бесконечный круглый индикатор загрузки. Блокирует любое взаимодействие с UI во время анимации.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:Indicator Visible="false"/>
void Hide(Indicator control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:Indicator CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:Indicator Id="indMain"/>
void HideIndicator() {
	indMain.Visible = false;
	indMain.Refresh();
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideParent() {
	indMain.Parent.Visible = false;
}
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0
Start()Запускает анимацию. Рекомендуется вызывать перед операцией синхронизации 
void StartSync()
{
	indMain.Visible = true;
	indMain.Start();
	indMain.Refresh();
}
-
Stop()Останавливает анимацию. Рекомендуется вызывать по окончании операции синхронизации, в функции обратного вызова. 
void StopSync()
{
	indMain.Stop();
	indMain.Visible = false;
	indMain.Refresh();
}
-

Стили

MediaPlayer


 

Невозможно предоставить {include} Включенная страница не может быть найдена.

MemoEdit


 

Многострочное поле ввода

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:MemoEdit Visible="false"/>
void Hide(MemoEdit control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:MemoEdit CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:MemoEdit Id="meMain"/>
void HideMemo() {
	meMain.Visible = false;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideParent() {
	meMain.Parent.Visible = false;
}
-
Textстрока**разметка и скриптЗадает текст, отображаемый в поле ввода.
<c:MemoEdit Text="#helloworld#"/>
-
ValueпеременнаяразметкаЗадает свойство объекта, значение которого будет изменяться по мере ввода данных в поле.
<c:MemoEdit Value="$orderitem.Qty"/>
-
OnChangeфункцияразметкаЗадает ссылку на функцию*** из основного контроллера, вызываемую при изменении содержимого поля. Первым параметром в функцию передается ссылка на объект (sender)
<c:MemoEdit OnChange="Memo_Change"/>
void Memo_Change(object sender, EventArgs e) 
{
	MemoEdit ctrl = (MemoEdit)sender;
	DConsole.WriteLine(ctrl.Text);
}
-
OnGetFocusфункцияразметкаЗадает ссылку на функцию*** из основного контроллера, вызываемую при выборе поля для редактирования. Первым параметром в функцию передается ссылка на объект (sender)
<c:MemoEdit OnGetFocus="Memo_OnFocus"/>
void Memo_OnFocus(object sender, EventArgs e) 
{
	DConsole.WriteLine("Focus acquired");
}
-
OnLostFocusфункцияразметкаЗадает ссылку на функцию*** из основного контроллера, вызываемую при окончании редактирования. Первым параметром в функцию передается ссылка на объект (sender)
<c:MemoEdit OnLostFocus="Memo_LostFocus"/>
void Memo_LostFocus(object sender, EventArgs e) 
{
	DConsole.WriteLine("Focus has been lost");
}
2.2.2.91
Length****числоразметка и скриптЗадает постусловие: максимальная длина текста в поле при валидации.
<c:MemoEdit />

Length="8"

-
Required****логическийразметка и скрипт Задает постусловие: необходимость наличия текста в поле при валидации.
<c:MemoEdit Required="true"/>
-
Mask****строка**разметка и скриптЗадает постусловие: регулярное выражение, применяемое при валидации. Для того, что бы проверять на соответствие всю строку, а не только ее часть, необходимо экранировать выражение символами начала(^) и конца строки($).
<c:MemoEdit Mask="^\d+$"/>
-
AutoFocusлогическийразметкаЗадает необходимость получения фокуса компонентом при загрузке экрана. Если данное свойство задано для нескольких компонентов на одном экране, фокус получит первый.
<c:MemoEdit AutoFocus="True"/>
-
Keyboardauto |default |numeric |email | url | phoneразметкаЗадает тип, выводимой при редактировании, клавиатуры. Если задано значение "auto", вид клавиатуры будет зависеть от типа данных, установленных в свойстве Value.
<c:MemoEdit Keyboard="numeric"/>
-
Placeholderстрока**разметка и скриптЗадает текст-подсказку, отображаемый в пустом поле.
<c:MemoEdit Placeholder="#search#"/>
-
Enabledлогическийразметка и скриптЗадает доступность компонента для редактирования
 <c:EditText Enabled="False"/>
meMain.Enabled = false;
 2.4.0.110

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

*** - первым параметром в функцию передается ссылка на объект (sender), последующим - объекты переданные в разметке.

**** - данные свойства применяются при вводе с использованием визуального компонента SubmitButton.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0
SetFocus()Устанавливает фокус на данном элементе 
void LayoutClick(VerticalLayout container)
{
	MemoEdit memoFirst = (MemoEdit)container.Controls[0];
	memoFirst.SetFocus();
}
-

Стили

Screen


 

Контейнер. Содержит не более одного вложенного компонента. Корневой элемент экрана.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:Screen CssClass="main_row">
	...
</c:Screen >
-
Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
void HideAllControls() {
	forech(var control in Controls)
		control.Visible = false;
}
-
StyleSheetстрока**разметкаЗадает название css файла, стили которого дополнительно применяются к экрану
<c:Screen StyleSheet="Style\Order.css">
	...
</c:Screen >
-
Variablesтаблица ключ - значениеразметка и скриптТаблица ключ-значение, заполняется в момент загрузки экрана из разметки либо явным вызовом s:Push, либо присвоением идентификатора элементу управления атрибутом Id, либо вызовом SetData при инициализации экрана.
public override void OnLoading() {
	forech(var item in Variables)
	DConsole.WriteLine(item.Key);
}
 

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Refresh(); //the whole screen
}
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); //add Screen root control
	}
 
	void BtnClick(object sender, EventArgs e)
	{
    	Button btn = (Button)sender;
    	DConsole.WriteLine(btn.Text);
	}
 }
 
LoadFromStream()Загружает разметку экрана из потока, строит дерево элементов управленияSystem.IO.Stream
void Btn_Click(object sender, EventArgs e)
{
	Screen scr = new MyCustomScreen();
	System.IO.Stream s = Application.GetResourceStream("Screen\Custom.xml");
	scr.LoadFromStream(s);
	scr.Show();
}
LoadStyleSheet()Загружает таблицу стилейSystem.IO.Stream
void Btn_Click(object sender, EventArgs e)
{
	Screen scr = new MyCustomScreen();
	System.IO.Stream s = Application.GetResourceStream("Screen\Custom.xml");
	scr.LoadFromStream(s);
	System.IO.Stream s2 = Application.GetResourceStream("Style\Custom.css");
	scr.LoadStyleSheet(s2);
	scr.Show();
}
Show()Показывает экран 
void Btn_Click(object sender, EventArgs e)
{
	Screen scr = new MyCustomScreen();
	System.IO.Stream s = Application.GetResourceStream("Screen\Custom.xml");
	scr.LoadFromStream(s);
	scr.Show();
}
SetData()Добавляет ключи в таблицу Variables. Используется для передачи аргументов при показе нового экрана. Переданные ключи могут быть использованы в разметке.Dictionary<string,object>
public class SomeData : Entity
{
   public int Id { get; set; }
   public String Name { get; set; }

   public SomeData(int id, String name)
   {
       Id = id;
       Name = name;
   }
}
 
void Btn_Click(object sender, EventArgs e)
{
	Dictionary<string, object> x = new Dictionary<string, object>();
	x.Add("data", new SomeData(1, "one"));
	x.Add("simpleData", "just a string");

	Screen scr = new MyCustomScreen();
	scr.SetData(x);
	scr.Show();
}
OnLoading()Обработчик события создания экрана. Вызывается один раз после создания. 
public class MainScreen : Screen
{
	TextView tv = null;
 
	public override void OnLoading()
	{
		VerticalLayout vl = new VerticalLayout();
		vl.CssStyle = "someStyle";

		tv = new textView();
		vl.AddChild(tv);
		
		this.AddChild(vl); //add Screen root control
	}
	
	int counter = 0;
	
	public override void OnShow()
	{
		counter++;
		tv.Text = String.Format("This screen has been showed {0} times", 
			counter.ToString());
	}
 }
OnShow()Обработчик показа экрана. Вызывается каждый раз после перед показом экрана 

 

 

Стили

СтильВерсия
background-color-

ScrollView


 

Контейнер. Содержит любое количество вложенных компонентов. Каждый вложенный компонент добавляется на экран в соответствие с очередностью, заданной в разметке. Вертикальный динамический список с областью прокрутки. Сохраняет свое положение при возвращение на предыдущий экран, если компоненту присвоен Id. 

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:ScrollView Visible="false"/>
void HideScrollView(ScrollView control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:ScrollView CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:ScrollView Id="svMain"/>
ScrollView svMain;
 
void HideMain() {
	svMain.Visible = true;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
<c:Button OnClick="Button_Click"/>
void Button_Click(object sender, EventArgs e) {
	svMain.Parent.Visible = false;
}
-
Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
void HideContent(ScrollView container) {
	foreach(var ctrl in container.Controls)
		ctrl.Visible = false;
}
-
Indexчислоразметка и скриптЗадает индекс видимого элемента. Позволяет прокрутить список до соответствующего вложенного компонента, согласно очередности добавления.
void ScrollTo(ScrollView sv, index) {
	sv.Index = index;
}
-
OnScrollфункцияразметкаЗадает ссылку на функцию*** из основного контроллера, вызываемую при начале прокрутки списка. Первым параметром в функцию передается ссылка на объект (sender)
<c:ScrollView OnScroll="ScrollView_OnScroll"/>
void ScrollView_OnScroll(object sender, EventArgs e) {
	ScrollView sv = (ScrollView)sender;
	DConsole.WriteLine(String.Format("ScrollView {0} has been scrolled", sv));
}
-
ScrollIndexчислоскрипт, только чтениеВозвращает индекс элемента, к которому пользователь прикасался при прокрутке
void VerticalLayout_Click(obejct sender, EventArgs e) {
	DConsole.WriteLine(svMain.ScrollIndex.ToString());
}
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
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()
	{
		ScrollView dl = new ScrollView();
		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);
	}
 }
 

Стили

SwipeHorizontalLayout


 

Контейнер. Содержит любое количество вложенных компонентов. Каждый вложенный компонент добавляется на экран в соответствие с очередностью, заданной в разметке. Позволяет прокручивать компоненты с эффектом "прилипания". Алгоритм расположения вложений соответствует HorizontalLayout. 

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:SwipeHorizontalLayout Visible="false"/>
void UnHide(SwipeHorizontalLayout control) {
	control.Visible = true;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:SwipeHorizontalLayout CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:SwipeHorizontalLayout Id="shlMain"/>
void UnHide() {
	((SwipeHorizontalLayout)Variables["shlMain"]).Visible = true;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideRoot() {
	shlMain.Parent.Visible = false;
}
-
Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
void HideContent(SwipeHorizontalLayout container) {
	foreach(var control in container.Controls)
		control.Visible = false;
}
-
Indexчислоразметка и скриптЗадает индекс видимого элемента. Позволяет прокрутить контейнер до соответствующего вложенного компонента, согласно очередности добавления.
<c:SwipeHorizontalLayout Id="shlMain" Index="1">
	...
</c:SwipeHorizontalLayout>
void OpenMenu() {
	shlMain.Index = 0;
}
-
Percentчисло (0..100)разметка и скрипт Задает меру, на сколько необходимо прокрутить вложенный элемент контейнера, что бы он остался отображенным.
<c:SwipeHorizontalLayout Percent="25">
	...
</c:SwipeHorizontalLayout>
-
AlignmentDefault | CenterразметкаЗадает способ отображения вложенных компонентов. Если задать значение свойства как Center, они будут центрироваться.
<c:SwipeHorizontalLayout Alignment="Center">
	...
</c:SwipeHorizontalLayout>
-
Scrollableлогическийразметка и скрипт Задает возможность прокручивать содержимое. Еслизадать значение свойства как false, единственным способом прокрутки будет изменение свойства Index.
<c:SwipeHorizontalLayout Scrollable= "False">
	...
</c:SwipeHorizontalLayout>
-
OnSwipeфункцияразметкаЗадает ссылку на функцию*** из основного контроллера, вызываемую при прокрутке. Первым параметром в функцию передается ссылка на объект (sender)
<c:SwipeHorizontalLayout OnSwipe="Layout_Swipe">
	...
</c:SwipeHorizontalLayout>
void Layout_Swipe(object sender, EventArgs e) {
	DConsole.WriteLine("OnSwipe fired");
}
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0

Пример использования

public class MainScreen : Screen
{
	public override void OnLoading()
	{
		SwipeHorizontalLayout dl = new SwipeHorizontalLayout();
		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);
	}
 }



Стили

TextView


VerticalLayout


 

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

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:VerticalLayout Visible="false"/>
void Hide(VerticalLayout control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:VerticalLayout CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:VerticalLayout Id="vlMain"/>
void HideMain() {
	vlMain.Visible = false;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideRoot() {
	vlMain.Parent.Visible = false;
}
-
Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
void HideButtons(VerticalLayout control) {
	foreach(var ctrl in control.Controls)
		((Button)ctrl).Visible = false;
}
-
OnClickфункцияразметкаЗадает ссылку на функцию обработчик события, вызываемую при нажатии на кнопку. Первым параметром в функцию передается ссылка на объект VerticalLayout (sender).
<c:VerticalLayout OnClick="VL_OnClick"/>
void VL_OnClick(object sender, EventArgs e) {
	((VerticalLayout)sender.Visible = false;
}
-
OnEventстрока**разметкаЗадает событие, при выполнении которого будет вызвана функция, указанная в свойстве OnClick. Пример события: Back - вызывается при нажатии на кнопку "Назад" в Android устройствах.
<c:VerticalLayout OnClick="HL_Click" OnEvent="Back"/>
 -

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
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()
	{
		VerticalLayout dl = new VerticalLayout();
		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);
	}
 }
 

Стили

WebImage


 

Изображение, получаемое по внешней ссылке.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:WebImage Visible="false"/>
void Hide(WebImage control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:WebImage CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:WebImage Id="wiMain"/>
void HideMain() {
	wiMain.Visible = false;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideRoot() {
	wiMain.Parent.Visible = false;
}
-
Urlстрока**разметкаЗадает полный или относительный адрес изображения.
<c:WebImage Url="http://imgstr.com/im.jpg"/>
-
UrlTypeAbsolute |RelativeразметкаЗадает вид адреса изображения: "Absolute" - абсолютный адрес; "Relative" - адрес, относительно <solution_url>/image/, например "/my_img.jpg" транслируется в "http://bitmobile2.cloudapp.net/demosr/image/my_img.jpg", если адрес решения"http://bitmobile2.cloudapp.net/demosr"
<c:WebImage UrlType="Absolute"/>
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0

Стили

WebMapGoogle


 

Web версия карт GoogleMaps.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:WebMapGoogle Visible="false"/>
void Hide(WebMapGoogle control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:WebMapGoogle CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:WebMapGoogle Id="wmgMain"/>
WebMapGoogle wmgMain;
 
void HideMain() {
	wmgMain.Visible = true;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideRoot() {
	wmgMain.Parent.Visible = false;
}
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0
AddMarker(caption, latitude, longitude, color)Добавляет маркер на карту

caption - заголовок маркера;

latitude - широта точки;

longitude - долгота точки;

color - цвет маркера ("red", "green", "blue", "yellow", "orange")

void AddOutletLocation(Catalog.Outlet outlet) {
	wmgMain.AddMarker("#marker#", outlet.Lat, outlet.Lon, "red");
}
-

Стили

 WebView


 

Веб страница, встроенная в разметку.

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visibleлогическийразметка и скриптЗадает видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
<c:WebView Visible="false"/>
void Hide(WebView control) {
	control.Visible = false;
}
 -
CssClassстрока**разметкаЗадает название CSS класса, стили которого будут применяться к данному компоненту
<c:WebView CssClass="main_row"/>
-
Idстрока**разметкаЗадает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или кода контроллера. Из контроллера доступ к компоненту возможен через объявленную переменную с соответствующим типом и именем, совпадающим с указанным в атрибуте Id, либо через свойство Variables
<c:WebView Id="wvMain"/>
WebView wvMain;
 
void HideMain() {
	wvMain.Visible = false;
}
-
Parentкомпонентразметка и скрипт, только чтениеВозвращает ссылку на родительский компонент. Возвращает null если текущий объект на верху дерева.
void HideRoot() {
	wvMain.Parent.Visible = false;
}
-
Urlстрока**разметкаЗадает полный или относительный адрес страницы.
<c:WebView Url="https://google.com"/>
-

* - в качестве параметра можно передавать константу, переменную, функцию или свойства соответствующего типа

** - при установке строкового свойства в разметке, применяются особые правила форматирования текста.

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
void Btn_Click(object sender, EventArgs e)
{
	Buttob btn = (Button)sender;
	btn.CssStyle = "someNewStyle";
	btn.Text = "Style changed";
	btn.Refresh();
}
3.0.0

Стили

Невизуальные компоненты


Пространство имен: BitMobile.ValueStack.

Объявление по умолчанию: xmlns:s="BitMobile.ValueStack".

Условные операторы ветвления

Атрибуты

КомпонентАтрибутТипОписаниеПримерВерсия
IfTestстрокаЗадает логическое выражениеTest="$user_name != $current_user.Name"-

Пример:

<s:If Test="$user_name != $current_user.Name">
	<s:If Test="$CheckUserName($user_name)">
		<c:TextView Text="$user_name"/>
		<c:HorizontalLine />
	</s:If>
</s:If>
<s:Else>
	<c:TextView Text="$current_user.Info"/>
</s:Else>

Внедряет в разметку указанный подключаемый компонент

Атрибуты

АтрибутТипОписаниеПримерВерсия
FileстрокаЗадает имя файла с внедряемым кодомFile="Navigator.xml"-

Пример:

<c:Component xmlns:c="BitMobile.ClientModel3.UI" xmlns:s="BitMobile.ValueStack">
	<c:DockLayout CssClass="navigator">
		<c:Button CssClass="back" OnClick="Back_Click"/>
		<c:Button CssClass="forward" OnClick="Forward_Click"/>
		<c:TextView Text="$screen_name"/>
	</c:DockLayout>
</c:Component>
<s:Push Id="screen_name" Value="#user_info#"/>
<s:Include File="Components\Navigator.xml"/>

 

Производит итерацию по заданной коллекции

Атрибуты

АтрибутТипОписаниеПримерВерсия
IdстрокаЗадает идентификатор ссылки на текущий элемент итерируемой коллекцииId="current_user"-
ValueколлекцияЗадает итерируемую коллекциюValue="$users"-
Statusстрока

Задает идентификатор переменной статуса итерации

Переменная статуса:

СвойстваТипОписаниеПримерВерсия
Indexчисло, целоеВозвращает порядковый номер текущего элемента в итерацииValue="$status_users.Index"-
Status="status_users"-

Пример:

<s:Iterator Id="current_user" Value="users" Status="status_users">
	<s:Iterator Id="current_phone" Value="$GetPhonesByUser($current_user)">
		<s:Push Id="index" Value="$status_users.Index"/>
		<c:TextView Text="{index}: {$current_phone}"/>
		<c:HorizontalLine/>
	</s:Iterator>
</s:Iterator>

 

 

Свойства

СвойствоТипОписаниеПримерВерсия
IsInitializedлогическийВозвращает true, если приложение зарегистрировано для приема\ отправки уведомлений.


PushNotification.IsInitialized









Методы

МетодОписаниеПараметрыИсключенияПримерВерсия
InitializePushService()Регистрация приложения для приема\ отправки пуш уведомлений из сервера конкретного решения.

serverUrl - адрес сервера в формате host/bitmobile/solution

userId - ID клиента, который возвращается при выполнении get запроса "GetUserId"

password - пароль



PushNotification.InitializePushService("http://192.168.0.152/bitmobile/synchro3",
                    "15f3904b-942b-11e5-bb64-f8a963e4bf15", "sr");



OnPushMessage


Для обработки поступающих пуш сообщений нужно переопределить метод OnPushMessage(string message) в классе Solution унаследованном от Application.




public override void OnPushMessage(string message)
        {
            DConsole.WriteLine($"NEW MESSAGE = {message}");
        }
 


3.0.0.0
PushMessageОтправка push уведомления из прикладного кода. Обязательно указать id пользователей-получателей


 PushNotification.PushMessage("Hello", new[] { "15f3904b-942b-11e5-bb64-f8a963e4bf15", "8d3e3420-f723-11e5-80fd-902b3416d383" });


-








 

  • Нет меток
Написать комментарий...