Perspex — кросплатформенный UI-фреймворк с XAML и биндингами
TL;DR: кроссплатформенный клон 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, 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 (на английском)