假设我有一个大的XAML页面。在这个页面上有几十个文本框,按钮等,这些控件需要根据各种条件(权限,视图模型状态,等等)显示/隐藏/修改。设置视觉转换的两种可能方法是:
我的问题:纯粹从性能(速度和内存占用)的角度来看,一种或另一种方法明显更好吗?是第二种方法,加载带有绑定的页面,是否有可能权衡它?或者差异可能微不足道?
答案 0 :(得分:1)
我没有测试或基准来证明它,但如下推理表明视觉状态方法应该更快。
对于绑定方案:
PropertyChanged
。可视状态场景中没有这些处理程序可以通过:
使用Visual State Manager显然比使用视图到视图模型绑定设置更多。
编辑 John Gossman也noted(很久以前)绑定可能很重,并且可能开始在大型应用程序中消耗过多的内存。在链接的文章中,他声称通过用一个静态回调替换所有绑定来节省了100MB。