哪种方法更有效,在XAML中使用ListBox的DataTemplate或在运行时填充ListBox?

时间:2012-06-21 04:28:21

标签: c# windows-phone-7 xaml

我之前在ListBox中使用DataTemplate作为XAML代码,我最近修改了我的代码,现在在运行时我使用foreach和其他循环填充ListBox。 (通过这种方式,我可以更好地控制格式化和其他操作。)

问题在于代码的效率已降低。使用循环比使用XAML中的项目/数据模板花费1到2秒的时间。 (减少对代码,大量绑定和转换器的控制,增加代码的复杂性,这是不容易操作的。)

请建议我

  • 哪种方式更有效?为什么?
  • 我怎样才能使循环更高效的解决方案?穿线?
  • 学习异步线程的任何友好教程?非母语英语人士?

非常感谢和问候!

1 个答案:

答案 0 :(得分:2)

XAML解析器经过优化,可以在给定WPF布局系统的情况下以最佳方式创建控件,进一步允许项目的虚拟,这意味着表示项目的实际控件只是在项目可见时创建。

除此之外,我总是更喜欢DataTemplate,因为它是声明性的,更容易阅读和更少的代码。