【发布时间】:2011-08-09 09:39:12
【问题描述】:
在架构上,我认为 WPF 非常棒。一般来说,我是底层渲染/动画内部工作的忠实粉丝。模板和样式设置的灵活性令人印象深刻。
但我讨厌 XAML - 我觉得它使很多事情复杂化。我已经在大型和小型应用程序中使用过它,并且我发现自己很多次都试图弄清楚如何在 XAML 中做一些基本原则是基本但语法很古怪的事情。不仅如此,我还多次想知道解析/绑定的某些部分有多重。 (我知道它已编译,但我不确定在运行时仍评估多少)
XAML 只是构建和加载可视化树的一种方式。是否有任何框架可以简化以非 XML、基于代码(但仍主要是声明性)的方式构建可视化树?具体来说,我对在保留 MVVM 方法的同时缓解以下任何问题的框架感兴趣:
强类型绑定。指定 ViewModel 必须符合特定类型。我假设 BaseBinding 在引擎盖下使用反射,我对它的速度有点怀疑,更不用说破坏绑定很烦人。
更快的绑定,非
INotifyPropertyChanged绑定。似乎可以创建某种BindableProperty<T>,并且绑定可以直接监听它,而不是接收所有 ViewModel 属性更改。并且使用直接回调与字符串参数似乎也是有利的。一种不同的资源管理方法;同样,某种类型的强类型字典可能非常好。我几乎希望将样式视为 lambda 或其他捕捉强类型方面的东西。
总之,有没有基于非 XAML、非常适合 MVVM 并且是强类型的框架?
【问题讨论】:
-
用 JavaFX 度过一个周末,不要回头。
标签: wpf xaml mvvm declarative