2011-09-28 50 views

回答

4

我记得读取加载的XAML是比同等更有效但是:

影响速度的因素包括命名元素的数量(因为它们通过设计器文件中的查找连接到代码隐藏成员)以及类似/总元素的数量。

从业务角度来看,保持Xaml是一种维护项目的简单方法。 Xaml的全部目的是让设计师能够独立于编码人员工作。

1

我认为我说得对,明智的表达无所谓。

从开发的角度来看,其在XAML定义的控件允许明确分开,如果你使用的是MVVM,你会得到这种模式带来的(单元测试,明确分工,更好的可管理性等)

的所有好处

另外,如果您已在XAML中定义了您的控件,则您的应用程序将更适合Blend开发,并允许您以可视方式控制应用程序的外观。

我宁愿保持在XAML中所有的UI控件,并做螺母和螺栓code..but框架的设计,以适应各种口味开发

1

我想如果你尝试使用纯代码来定义动画/ VisualStates,你会意识到Blend是多么的棒。

绑定语法也不会在代码中感觉到非常可读,但是,这可能是一个品味问题。

1

性能差异可以忽略不计,甚至不应该成为一个因素,因为维护和代码质量差异非常大。代码生成的控件是维护的噩梦,难以设计和风格,并且使开发人员难以遵循应用程序流程。您基本上都在问使用可以提供设计时视图的XAML,从业务逻辑中分离表示逻辑,以及允许像Blend这样的工具接管的区别,而不是使用否定所有上述的程序化方法。如果您决定将应用程序移植到Windows 8并使用WinRT引擎?使用XAML方法和像MVVM这样的模式,您可能会重复使用大部分代码并更新一些视图,而使用编程方法时,必须抛弃所有代码以支持新的运行时。所以,即使两者之间的表现略有差异,我也认为这并不重要,因为其他因素要考虑的更重要。

+0

您好Jeremy,感谢您的回答,但它稍微偏离了设计时间的优势,因为问题与应用程序的运行时性能有关。当应用程序主要由动态创建的控件组成时,我需要调查可能的性能问题(这是需求,应用程序仅适用于WP7) – user969153