WinUI. The modern native Ul platform of Windows

Содержание

Слайд 2

WinUI позволяет быстро создавать приложения Windows, стиль которых адаптируется к целевой платформе

WinUI позволяет быстро создавать приложения Windows, стиль которых адаптируется к целевой платформе

Слайд 3

Windows Community Toolkit - комплект инструментов с открытым исходным кодом содержащий десятки

Windows Community Toolkit - комплект инструментов с открытым исходным кодом содержащий десятки
элементов управления и других вспомогательных библиотек для WinUI, UWP и Win32

Слайд 5

WinUI – это набор элементов управления и библиотек с открытым исходным кодом,

WinUI – это набор элементов управления и библиотек с открытым исходным кодом,
предназначенных для использования в приложениях UWP и Win32.

Слайд 6

Сравнение приложений для Windows 8 и Windows 10

Сравнение приложений для Windows 8 и Windows 10

Слайд 8

Основное преимущество WinUI по сравнению с UWP заключается в меньшей зависимости приложений

Основное преимущество WinUI по сравнению с UWP заключается в меньшей зависимости приложений
Windows от конкретной версии Windows.
Элементы управления, стили и API вынесены за пределы Windows SDK и сопровождаются отдельно

Слайд 9

XAML

основан на расширяемом языке разметки (XML)

HorizontalAlignment="Center"
VerticalAlignment="Center">

XAML основан на расширяемом языке разметки (XML) HorizontalAlignment="Center" VerticalAlignment="Center"> Text="Name:" Margin="0,0,2,0" VerticalAlignment="Center"/> Text=""/> HorizontalAlignment="Right" VerticalAlignment="Top" Content="Submit"/>







Text="Name:"
Margin="0,0,2,0"
VerticalAlignment="Center"/>
Text=""/>

Слайд 10

Адаптивный интерфейс

Padding="2">

Адаптивный интерфейс Padding="2">

Слайд 11

данные

public class MainViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private

данные public class MainViewModel : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private
string _name;
public MainViewModel()
{
Name = "Bob Jones";
}
public string Name
{
get
{
return _name;
}
set
{
if (_name == value) return;
_name = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Name)));
}
}
}

интерфейс INotifyPropertyChanged - нужен для получения пользовательским интерфейсом событий обновления при изменении привязанных к данным свойств

1. Создание класса MainViewModel

Слайд 12

2. Создание экземпляра класса и его задание в качестве свойства на MainPage

2. Создание экземпляра класса и его задание в качестве свойства на MainPage
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.ViewModel = new MainViewModel();
}
public MainViewModel ViewModel { get; set; }
}

Слайд 13

3. Добавление кода привязки к данным в XAML разметку элемента TextBox

3. Добавление кода привязки к данным в XAML разметку элемента TextBox Path=ViewModel.Name,
Grid.Column="1" Text="{x:Bind
Path=ViewModel.Name, Mode=TwoWay}"/>

Режим двусторонней привязки

Расширение разметки

Путь привязки

Слайд 14

Стилизация UI с помощью XAML

XAML поддерживает применение стилей в любой области видимости:
Глобально

Стилизация UI с помощью XAML XAML поддерживает применение стилей в любой области
(файл app.xaml)
На ткущей странице (в объявлении Page.Resourses
Внутри любого уровня или вложенного элемента на странице

Слайд 15

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

Margin="0,4,0,0"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Orientation="Horizontal">

Пример использования свойства style Margin="0,4,0,0" HorizontalAlignment="Right" VerticalAlignment="Top" Orientation="Horizontal"> 1. Перемещение кнопки Submit
Margin="0,0,4,0"/>