Perspex — Кроссплатформенная Среда Пользовательского Интерфейса С Xaml И Привязками.

ТЛ;ДР: кроссплатформенный клон WPF. Он выгодно отличается от других попыток сделать что-то с XAML тем, что имеет полностью настраиваемую систему рендеринга со сменными бэкэндами (в настоящее время поддерживаются Direct2D и Cairo).

В наличии инспектор и дизайнер (см.

видео).

Привязки сделаны на стероидах под названием ReactiveExtensions (можно использовать и старый стиль).

Может работать с Windows/Linux/MacOS; поддержку мобильных платформ планируется добавить в начале следующего года за счет рендеринга через MonoGame. Текущий статус проекта — вторая альфа.

То есть это уже можно почувствовать, но тащить в производство еще рано.

Имеется солидный набор рабочих элементов управления: Button, ToggleButton, CheckBox, HtmlLabel, RadioButton, Canvas, ContentControl, Control, Controls, Deck, Decorator, DropDown, Image, ItemsControl, ListBox, ListBoxItem, Menu, MenuItem, Panel, StackPanel, Grid. , Примитивы .

Popup, Primitives.SelectingItemsControl, Primitives.TabStrip, Primitives.TemplateControl, Primitives.Thumb, Primitives.Track, ScrollViewer, TabControl, TabItem, TextBlock, TextBox, ToolTip, TreeView. DockPanel не вписывалась в заключительное окно второй альфа-версии; он доступен в ночных сборках.

Их собственный вид будет осуществляться почти так же, как и в WPF, — путем создания тем по умолчанию для распространенных платформ.

Вам не придется возиться с ерундой написания фрагментов платформозависимого кода пользовательского интерфейса, как это нужно делать в случае с Xamarin.Forms при использовании Perspex. Система типов и API рисования очень похожи на WPF; например, мне удалось портировать HtmlLabel из HtmlRenderer .

Система стилей несколько расширена по сравнению с WPF. Элемент управления может иметь несколько стилей с разными селекторами, например :pointerover, который позволяет использовать стили, подобные CSS. Intellisense в дизайнере в настоящее время позволяет автодополнение имен и свойств сущностей, встроенных в Perspex, но текущая система его реализации в будущем позволит как подключение через clr-namespace, так и простое добавление привязок.

Для чего-то более сложного нужно построить полноценный AST, а это достаточно большой объем работы.

Самый простой способ попробовать его в действии — установить расширение для Visual Studio и создаем проект из прикрепленного шаблон .

Репозиторий на GitHub Уютный чат на Gitter (по-английски) NuGet-пакет Канал NuGet «ночных сборок»:

www.myget.org/F/perspex-nightly/api/v2/Packages

Теги: #C++ #Windows #mac os x #mac os x #linux #wpf #.

NET #C++ #Разработка для MacOS #Разработка для Windows

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.