Текущий статус проекта — вторая альфа. То есть, щупать уже можно, но в продакшн тащить всё же рановато. В наличии солидный набор работающих контролов: Button, ToggleButton, CheckBox, HtmlLabel, RadioButton, Canvas, ContentControl, Control, Controls, Deck, Decorator, DropDown, Image, ItemsControl, ListBox, ListBoxItem, Menu, MenuItem, Panel, StackPanel, Grid, Primitives.Popup, Primitives.SelectingItemsControl, Primitives.TabStrip, Primitives.TemplatedControl, Primitives.Thumb, Primitives.Track, ScrollViewer, TabControl, TabItem, TextBlock, TextBox, ToolTip, TreeView. DockPanel в закрывающееся окно релиза второй альфы не пролез, доступен в ночных сборках. Нативный вид для них будет сделан примерно так же как и в WPF — созданием дефолтных тем для распространённых платформ. Заниматься фигнёй с написанием кусков платформозависимого UI-кода, как необходимо делать в случае с Xamarin.Forms при использовании Perspex не придётся.
Система типов и API рисования достаточно схожи с WPF, например, мне без особых проблем удалось портировать HtmlLabel из HtmlRenderer
Система стилей по сравнению с WPF несколько расширена. У контрола может быть несколько стилей с разными селекторами, например :pointerover, что позволяет делать стилизацию наподобие CSS.
Intellisense в дизайнере пока позволяет автодополнять имена и свойства встроенных в Perspex сущностей, но текущая система его реализации в дальнейшем позволит как подключение через clr-namespace, так и простейшее дополнение для биндингов. Для чего-то более сложного нужно строить полноценное AST, а это достаточно большой объём работ.
Попробовать в действии проще всего установив расширение для Visual Studio и создав проект из прилагаемого шаблона
Репозиторий на GitHub
Уютный чатик в Gitter (на английском)
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий