我想知道程序员如何选择编辑XAML。我与之交谈的大多数程序员似乎都在编辑原始XML,但这对我来说似乎很难见,因为对于更直观的编辑器来说这是很自然的事情(当然,你经常需要最终了解原始代码,但不是'有没有更好的方法来布局网格,或编辑模板,或添加非c#触发器或管理命令?真正让我失望的是编辑菜单 - Visual Studio 1.0有一个更好的C ++菜单编辑器而不是原始的XAML编辑经验。)
当我编辑.aspx文件时,我会在很多时候使用可视化编辑器,然后对于原始内容我会进入html代码。
我知道Expression Blend,但这似乎更侧重于艺术类型和GUI专家而不是程序员。
有人建议为XAML提供比VS更好的编辑器吗?特别是因为VS似乎也有XAML编辑的真正令人讨厌的问题,比如bugginess和糟糕的表现?
感谢您帮助这位XAML新手。
答案 0 :(得分:6)
我必须同意Blend拥有我尝试过的最好的XAML编辑器。虽然VS2010在2008年取得了一些显着的进步,但它与Blend并没有达到同一水平,但仍然感觉有点笨重而且很容易吓坏。
快速和脏的XAML编辑的一个很好的选择是Kaxaml,一个小编辑器,可以被认为是XAML的NotePad。它比(VS)快,具有语法高亮,自动完成和编辑器内预览。我发现与VS一起使用非常有用,尽管它仅限于认真工作。
答案 1 :(得分:3)
XAML的Visual Studio 2008可视化编辑器仍然是您遇到的相当原始的。当需要为XAML文件提供真正的可视化编辑器时,Blend是您最好的选择。
和你一样,我最初认为Blend更多地针对设计师,但是在使用它一段时间之后,我发现Blend显然是可视化编辑XAML文件的最佳工具。由于Blend与Visual Studio Team System集成,您可以无缝地在Visual Studio和Blend之间切换。
答案 2 :(得分:1)
我在进行视觉调整或设置故事板时使用Blend。我有时会在第一次布置窗口时使用它,但我发现通常手动编码XAML更容易,而不是依靠Blend来猜测我想要的布局。我在手工编写XAML时使用Visual Studio,因为它具有比Blend更好的Intellisense和自动格式。我从不在VS中使用WPF的可视化编辑器。
这里的部分挑战是XAML布局比WinForms复杂得多,因此简单的拖放操作不再能够完全消除它。 Blend可以很好地猜测我想要什么,但是如果我真的想澄清视觉效果应该如何布局,那么输入XAML会更容易表达,现在我已经熟悉了它。
我的典型工作流程:
通过在Visual Studio中为Grids,StackPanels,DockPanels输入XAML来创建初始布局,以及将用于布置窗口或控件的内容。如果布局很简单,我也可以放入其他一些控件。
打开Blend并使用它来放置较小的控件,编辑控件属性以及创建/关联我需要的任何样式。如果我需要自定义控件或数据模板,我将从Blend创建它们,然后在这些模板上重复VS / Blend过程。
返回VS并编辑XAML以设置我的设计器数据上下文并手动编写数据绑定代码。
使用Blend验证完成的窗口或控件的外观,使用设计器数据上下文,根据需要进行调整和样式化以完善UI。
我经常来回走动,但我通常也会从每个工具的不同心态接近它。如果我和一家大公司合作,我怀疑我在Blend做的大部分工作都是由图形设计师处理的,我认为这是意图。我不介意戴两顶帽子,但我已经习惯于根据需要使用这两种工具。
答案 3 :(得分:0)
Visual Studio 2008不是编辑WPF窗口的工具。如果您使用复杂的xaml类型或某些高级样式,通常会出错。
Visual Studio 2010在编辑中添加了许多新功能,特别是用于绑定的设计器和用于xaml的IntelliSense。
Blend是真的,面向像微软想要出售它的设计师,但我发现它更像是VS设计师的缺失功能。 Blend有一个高级的样式和动画编辑器,可以帮助生成很多东西。 但是Blend在编辑原始XAML方面缺乏可靠性,它根本没有智能感知。
我的选择是将VS 2010和Blend专门用于样式和动画。
答案 4 :(得分:0)
Expression Builder是一个很好的免费工具