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

Ключ

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

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

Свойства

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

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

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

Методы

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

Стили