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

Ключ

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

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

Свойства

СвойствоТип*ОбластьОписаниеПримерВерсия
Visible
CssClass
логический
строка**разметка
и скрипт
Задает
видимость компонента. Если он невидим, его размеры, тем не менее, учитываются в контейнерах
название CSS класса, стили которого будут применяться к данному компоненту
Блок кода
languagexml
themeEclipse
<c:
Screen Visible
Screen CssClass="
false
main_row">
	...
</c:Screen >
-
Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
Блок кода
language
js
c#
themeEclipse
function
void 
Hide
HideAllControls(
control
) {
	forech(var control in Controls)
		control.Visible = false;
}
 
-
CssClass
StyleSheetстрока**разметкаЗадает название
CSS класса
css файла, стили которого
будут применяться к данному компоненту
дополнительно применяются к экрану
Блок кода
languagexml
themeEclipse
<c:Screen 
CssClass
StyleSheet="
main_row
Style\Order.css">
	...
</c:Screen >
-
Id
Variablesтаблица ключ - значение
строка**
разметка
Задает идентификатор компонента в области видимости данного экрана. Таким образом можно получить доступ к его свойствам из произвольного места разметки или скрипта. Так же задавать значение идентификатора необходимо для сохранения состояния некоторых визуальных компонентов при возврате по бизнес процессу
и скриптТаблица ключ-значение, заполняется в момент загрузки экрана из разметки либо явным вызовом s:Push, либо присвоением идентификатора элементу управления атрибутом Id, либо вызовом SetData при инициализации экрана.
Блок кода
language
xml
c#
themeEclipse
<c:Screen Id="main">
	...
</c:Screen >
Блок кода
languagejs
themeEclipse
function HideMain() {
	$.main.Visible = true;
}
-Controlsсписокскрипт, только чтениеВозвращает список визуальных компонентов, вложенных в данный контейнер.
Блок кода
languagejs
themeEclipse
function HideContent(sender) {
	for(control in sender.Controls)
		control.Visible = false;
}
-StyleSheetстрока**разметкаЗадает название css файла, стили которого дополнительно применяются к экрану
Блок кода
languagexml
themeEclipse
<c:Screen StyleSheet="Order.css">
	...
</c:Screen >
-

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

...

public override void OnLoading() {
	forech(var item in Variables)
	DConsole.WriteLine(item.Key);
}
 

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

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

Методы

МетодОписаниеПараметрыПримерВерсия
Refresh()Перерисовывает элемент управления, вызов необходим при смене стилей. 
Блок кода
languagec#
void Btn_Click(object sender, EventArgs e)
{
	Refresh(); //the whole screen
}
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); //add Screen root control
	}
 
	void BtnClick(object sender, EventArgs e)
	{
    	Button btn = (Button)sender;
    	DConsole.WriteLine(btn.Text);
	}
 }
 
LoadFromStream()Загружает разметку экрана из потока, строит дерево элементов управленияSystem.IO.Stream
Блок кода
languagec#
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
Блок кода
languagec#
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()Показывает экран 
Блок кода
languagec#
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>
Блок кода
languagec#
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()Обработчик события создания экрана. Вызывается один раз после создания. 
Блок кода
languagec#
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-