## Установка Avalonia
Я эту Avaloni'ю долго не понимал как скачать, около 2 дней!
В конце концов мне помогли как починить всё и я перешёл в Visual Stutio по вашему совету.
Код не будет совпадать с картинками потому что изначально я делал всё в Raider'e
и забыл сохранять код чтобы потом залить его в ReadMe.
## Переход на Visual Studio
```
```
То что получилось
![](./img/button.png)
Тот же код, но со специальными символами `Content="<"Hello">"`.
![](./img/hello.png)
Этот то же`xml:space="preserve"`.
![](./img/hello spaces.png) который добавляет пробелы.
## Взаимодействие кода C# и XAML
```
```
Ну тут делал всё как по инструкции, скачал `MessageBox.Avalonia` через `Nuget`
и получилось вот это:
![](./img/button2.png)
При нажатии кнопки:
![](./img/button3.png)
### Добавил в проект следующий класс:
```
namespace AvaloniaFirst;
public class Phone
{
public string Name { get; set; }
public int Price { get; set; }
public override string ToString()
{
return $"Смартфон {this.Name}; цена: {this.Price}";
}
}
```
Использовал его:
```
```
Получил:
![](./img/smartphone.png)
## Компоновка
### Grid (сетка)
Очень крутая штука, в Visual Studio можно без ручного написания кода
изменять размер самих сеток. Мне понравилось.
```
```
Получлось ^-^
![](./img/table.png)
А вот тут самая веселая часть началась.
```
```
Мне очень сильно понравилось баловаться координатами, в один момент
даже получилось сделать смайлик! (но с этой какие то проблемы получились, она не такая как у вас но по коду 1 в 1, скорее всего из-за того что разные программы.)
![](./img/table2.png)
### GridSplitter
Штучка с левой и правой кнопкой.
```
```
Получилось:
![](./img/leftright.png)
### StackPanel
Штука которая располагает все элементы в ряд либо по вертикали.
```
```
Вот она:
![](./img/france.png)
### WrapPanel
Располагает все элементы в одной строке или колонке в зависимости от того, какое значение имеет свойство Orientation - `Horizontal` или `Vertical`. (Фактически то же самое что и StackPanel.)
```
```
Я поменял цвет на розовый потому что он круче, и хотелось своего добавить.
![](./img/mainwindow.png)
Вместо того чтобы изменять вертикально я решил немного побавловаться и посмотреть как будет меняться код в зависимости от действий.
```
```
Итог моих действий:
![](./img/vertical.png)
### Image. Ресурсы
К сожалению не смог сделать эту часть работы потому что делал всё в VC.
![](./img/qust.png)
За то я научился добавлять картинки в райдере!
`подборка котиков`
![](./img/1.jpg)
![](./img/2.jpg)
![](./img/3.jpg)
![](./img/4.jpg)