我喜欢WPF,但我讨厌XAML。
XAML过于冗长,当Microsoft尝试扩展它时会出现语法问题(请参阅Bindings上的StringFormat),并且很难导航。
XAML还有其他选择吗?
(这些只是我的意见。请随意不同意。)
答案 0 :(得分:13)
还有其他选择:
XUL,Flash,Delphi资源语法,C#Form.Designer.cs语法,VB6表单语法
当然,没有引人注目的替代方案。
它就像人体一样 - 带有所有果汁和气味的垃圾,但这是迄今为止最好的生命形式。 XAML显然非常糟糕,但周围没有任何好处。
答案 1 :(得分:6)
XAML似乎确实是房间里的大象。虽然我是WPF的忠实粉丝,但XAML的冗长程度可能会让人眼前一亮。虽然Blend和VS2010在很大程度上减少了从零开始编码XAML的需求,但我仍然发现手工编辑几乎是我所做的一切。
我发现power boots容易在眼睛上,而JavaFX的语法就像CSS一样非常吸引人。这些似乎是D'oh的分离。
然而,详细的XAML,至少有工具支持让我们90%的方式,任何其他替代方案将带我们回到手工编码所有的UI。对于这个程序员来说,这不是一个有吸引力的主张。
答案 2 :(得分:5)
另一种选择是根本不做UI,让设计师在Blend中做。
答案 3 :(得分:1)
答案 4 :(得分:1)
现在我知道为什么你的名牌在上一个创新日看起来很熟悉。
这将是一项很多工作,但你可以做一个小小的开始 - 没有理由你必须使用XAML,只需要创建部分类的东西。
所以,你可以编写一个DSL代替XAML,用合法的C#或者整个生猪来编写一个生成C#的VS工具,就像XAML处理器一样。这取决于您希望在编译时对代码隐藏文件的可用程度。
嗯,有IronRuby,可能是IronRuby中的DSL(DSL =领域特定语言,适用于任何阅读过首字母缩写词的人。)