WPF без XAML

Я думаю, что с архитектурной точки зрения WPF довольно хорош. В общем, я большой поклонник внутренней работы рендеринга / анимации. Гибкость настройки шаблонов и стилей впечатляет.

Но я ненавижу XAML - мне кажется, что он усложняет многие вещи. Я использовал его в больших и малых приложениях, и я много раз пытался понять, как сделать что-то в XAML, для которого основной принцип является базовым, но синтаксис необычный. Не только это, но я много раз задавался вопросом, насколько тяжелы определенные части синтаксического анализа / привязки. (Я знаю, что он скомпилирован, но не уверен, сколько еще оценивается во время выполнения)

XAML - это всего лишь один из способов построения и загрузки визуального дерева. Существуют ли какие-либо рамки для упрощения построения визуального дерева не-XML, основанным на коде (но все еще в значительной степени декларативным) способом? В частности, меня интересуют фреймворки, которые смягчают любые из следующих проблем, сохраняя при этом подход MVVM:

  1. Строго типизированная привязка. Укажите, что ViewModel должен соответствовать определенному типу. Я предполагаю, что BaseBinding использует отражение под капотом, и я немного скептически отношусь к скорости этого, не говоря уже о том, что сломанные привязки раздражают.

  2. Более быстрое связывание, без INotifyPropertyChanged связывания. Похоже, что можно создать своего рода BindableProperty , и привязка могла бы прослушивать его напрямую, а не получать все изменения свойств ViewModel. И использование прямого обратного вызова вместо строкового аргумента также может оказаться полезным.

  3. Другой подход к управлению ресурсами; опять же, какие-то словари со строгой типизацией могут быть довольно хорошими. Я почти хотел бы видеть стили как лямбды или что-то подобное, чтобы уловить строго типизированный аспект.

В общем, любые фреймворки, не основанные на XAML, хорошо подходят для MVVM и строго типизированы?

46
задан BoltClock 20 April 2011 в 15:26
поделиться