Лекция 2

advertisement
Лекция 2
Раздел 2.1
Темы раздела







3
Windows Phone
Программирование и дизайн




4
Windows Phone
Инструменты для дизайна


5
Windows Phone
Инструменты для создания кода

6
Windows Phone
Metro-стиль


7
Windows Phone
Silverlight и Metro


8
Windows Phone
Программные объекты



9
Windows Phone
Программные объекты
public class Account
{
private decimal balance ;
private string name ;
public string GetName ()
{
return name;
}
public bool SetName (string newName){
{
// здесь можно проверить корректность имени
name = newName;
return true;
}
// другие методы get и set
}
10
Windows Phone
Поля класса
public class Account
{
private decimal balance ;
private string name ;
public string GetName ()
{
return name;
}
public bool SetName (string newName){
счёта: имя владельца счёта и баланс
{
// здесь можно проверить корректность имени
name = newName;
return true;
}
// другие методы get и set
}
Здесь хранятся данные банковского
11
Windows Phone
Методы класса
public class Account
{
Здесь описываются
для доступа
private
decimal balance методы
;
private string name ;
public string GetName ()
{
return name;
}
public bool SetName (string newName){
{
// здесь можно проверить корректность имени
name = newName;
return true;
}
// другие методы get и set
}
к значениям полей класса
12
Windows Phone
Использование класса Account
Account rob = new Account();
rob.SetName("Rob");



13
Windows Phone
Объектно ориентированное
программирование


14
Windows Phone
Приложение «Сумматор»




15
Windows Phone
Silverlight и объекты


16
Windows Phone
Визуальные элементы Silverlight







17
Windows Phone
Свойства визуальных элементов






18
Windows Phone
Типы элементов







19
Windows Phone
Иерархия классов в Silverlight





20
Windows Phone
Иерархия классов
Silverlight

UIElement
FrameworkElement
TextBlock
TextBox

Control
ContentControl
ButtonBase
Button
21
Windows Phone
Иерархии классов




22
Windows Phone
Silverlight и программный код


23
Windows Phone
Silverlight и дизайн



24
Windows Phone
Панель инструментов


25
Windows Phone
Именование элементов Silverlight



26
Windows Phone
Свойства элемента



27
Windows Phone
Свойства в языке C#





28
Windows Phone
Директивы private и public




29
Windows Phone
Управление данными класса




30
Windows Phone
Добавление возраста
public class Account
{
private int age;
/// остальные свойства счёта
}


31
Windows Phone
Добавление методов get и set
public class Account
{
private int age;
public int GetAge()
{
return this.age;
}
public void SetAge( int inAge )
{
if ( (inAge > 0) && (inAge < 120) )
{
this.age = inAge;
}
}
}
32
Windows Phone
Управление возрастом
Account a = new Account();
a.SetAge(21);


33
Windows Phone
Методы get и set



34
Windows Phone
Использование свойств



35
Windows Phone
Свойство Age
public class Account
{
private int ageValue;
public int Age
{
set
{
if ( (value > 8) && (value < 100) )
ageValue = value;
}
get
{
return ageValue;
}
}
}
36
Windows Phone
Ключевые слова get и set




37
Windows Phone
Использование свойства Age
Account s = new Account ();
s.Age = 21;
Console.WriteLine ( "Возраст: " + s.Age );



38
Windows Phone
Проверка работы свойств
Account s = new Account ();
int newAge = 150;
s.Age = newAge;
if (s.Age != newAge)
Console.WriteLine("Значение возраста не было установлено");


39
Windows Phone
Несколько свойств для поля
public int AgeInMonths
{
get
{
return this.ageValue * 12;
}
}


40
Windows Phone
Свойства и уведомления



41
Windows Phone
Создание страницы в Silverlight




42
Windows Phone
Краткие итоги




43
Windows Phone
Раздел 2.2
Темы раздела





45
Windows Phone
XAML и Silverlight



46
Windows Phone
Элементы Silverlight




47
Windows Phone
Для чего нужен XAML




48
Windows Phone
Содержимое файла XAML
<TextBox Height="72" HorizontalAlignment="Left"
Margin="8,19,0,0" Name="firstNumberTextBox" Text="0"
VerticalAlignment="Top" Width="460" TextAlignment="Center"
/>



49
Windows Phone
Язык XAML





50
Windows Phone
Использование XAML



51
Windows Phone
XAML и XML




52
Windows Phone
Использование языка XML
<?xml version="1.0" encoding="us-ascii" ?>
<HighScoreRecords count="2">
<HighScore game="Breakout">
<playername>Rob Miles</playername>
<score>1500</score>
</HighScore>
<HighScore game="Space Invaders">
<playername>Rob Miles</playername>
<score>4500</score>
</HighScore>
</HighScoreRecords>

53
Windows Phone
Элемент HighScore
<HighScore game="Breakout">
<playername>Rob Miles</playername>
<score>1500</score>
</HighScore>



54
Windows Phone
Элемент HighScoreRecords
<?xml version="1.0" encoding="us-ascii" ?>
<HighScoreRecords count="2">
<HighScore game="Breakout">
<playername>Rob Miles</playername>
<score>1500</score>
</HighScore>
<HighScore game="Space Invaders">
<playername>Rob Miles</playername>
<score>4500</score>
</HighScore>
</HighScoreRecords>

55
Windows Phone
XML и структуры данных


56
Windows Phone
Формат XAML и объекты
<TextBox Height="72" HorizontalAlignment="Left"
Margin="8,19,0,0" Name="firstNumberTextBox" Text="0"
VerticalAlignment="Top" Width="460" TextAlignment="Center"
/>


57
Windows Phone
XML-схемы



58
Windows Phone
XML и программы



59
Windows Phone
XAML и страницы Silverlight




60
Windows Phone
Краткие итоги




61
Windows Phone
Раздел 2.3
Темы раздела






63
Windows Phone
Обозреватель решений


64
Windows Phone
Файлы страницы MainPage




65
Windows Phone
Содержимое файла кода
namespace AddingMachine
{
public partial class MainPage : PhoneApplicationPage
{
// Конструктор
public MainPage()
{
InitializeComponent();
}
}
}

66
Windows Phone
Класс MainPage
namespace AddingMachine
{
public partial class MainPage : PhoneApplicationPage
{
// Конструктор
public MainPage()
{
InitializeComponent();
}
}
}

67
Windows Phone
Конструктор класса MainPage
namespace AddingMachine
{
public partial class MainPage : PhoneApplicationPage
{
// Конструктор
public MainPage()
{
InitializeComponent();
}
}
}

68
Windows Phone
Инициализация элементов
namespace AddingMachine
{
public partial class MainPage : PhoneApplicationPage
{
// Конструктор
public MainPage()
{
InitializeComponent();
}
}
}

69
Windows Phone
Запуск приложения


70
Windows Phone
Метод calculateResult
private void calculateResult()
{
float v1 = float.Parse(firstNumberTextBox.Text);
float v2 = float.Parse(secondNumberTextBox.Text);
float result = v1 + v2;
resultTextBlock.Text = result.ToString();
}


71
Windows Phone
Преобразование значений
private void calculateResult()
{
float v1 = float.Parse(firstNumberTextBox.Text);
float v2 = float.Parse(secondNumberTextBox.Text);
float result = v1 + v2;
resultTextBlock.Text = result.ToString();
}

72
Windows Phone
Получение результата
private void calculateResult()
{
float v1 = float.Parse(firstNumberTextBox.Text);
float v2 = float.Parse(secondNumberTextBox.Text);
float result = v1 + v2;
resultTextBlock.Text = result.ToString();
}

73
Windows Phone
Вывод результата на экран
private void calculateResult()
{
float v1 = float.Parse(firstNumberTextBox.Text);
float v2 = float.Parse(secondNumberTextBox.Text);
float result = v1 + v2;
resultTextBlock.Text = result.ToString();
}

74
Windows Phone
Свойства элементов Silverlight



75
Windows Phone
Программы и события



76
Windows Phone
Метод-обработчик события


77
Windows Phone
Отображение результата
private void equalsButton_Click(
object sender, RoutedEventArgs e)
{
calculateResult();
}



78
Windows Phone
Управление событиями


79
Windows Phone
События и XAML
<Button Content="equals" Height="72"
HorizontalAlignment="Left" Margin="158,275,0,0"
Name="equalsButton" VerticalAlignment="Top" Width="160"
Click="equalsButton_Click" />


80
Windows Phone
Краткие итоги




81
Windows Phone
Download