WPF UI建议?

时间:2010-02-15 02:15:51

标签: wpf performance user-interface

我有一些带有一些控件的UI,然后在中间我有6个重叠的网格。我使用这些网格作为“页面”,当用户浏览“页面”时,我使用Visible.Hidden和Visible.Visible循环显示正确的“页面”。

我注意到在开发过程中,当我添加更多网格时,应用程序开始变慢(很多)。直到我在最后一页添加了6张图片才真正出现问题。因为,即使在我(比平均速度更快)的PC上,应用程序也非常慢。

关于如何使用更有效的方法获得相同的外观和感觉,您有什么建议吗?

提前致谢。

3 个答案:

答案 0 :(得分:2)

总而言之,拥有一堆像你一样的重叠控件并不是一个好主意,因为正如你所注意到的,存在性能问题。您希望在任何时候最小化应用程序中存在的控件数量。

如果您的网页数量有限,请使用TabControl

如果您有大量或动态的网页数量,请考虑FramesPages

第三种选择是使用ContentPresenter来托管“shell”控件。然后,只要您想要导航到其他页面,只需将控件的Content设置为页面视图的新实例。

您的观点与您的数据模型是分开的,对吧?如果没有,请考虑使用MVVM模式。这将允许您拥有持久数据,无论显示哪个视图(例如,动态创建和销毁视图都不会弄乱您的数据)。

答案 1 :(得分:1)

我建议您使用WPF Frame和Page类而不是当前的体系结构。与任何演示框架一样,当您向场景图添加更多控件时,性能会下降。

答案 2 :(得分:0)

TabControl与自定义模板?