我们有一个具有Telegram Desktop之类的聊天风格的应用程序:在窗口的右侧,通讯员列表在左侧-对话框消息的日期列表与所选通讯员分组。现在我们使用字典来保存每个对话框的当前状态。 通过选择通讯员,我们获得了显示对话框的存在控件,或者创建了新控件,并将其绑定到ContentPresenter:
<ContentPresenter Content="{x:Bind ViewModel.DetailsDialog, Mode=OneWay}"/>
在字典中添加了三个或更多控件后,UI开始冻结(禁止滚动等),内存和处理器未过载(大约占处理器的6%,内存为50 mb)。
所以我的问题是,如何通过保存控件或页面的UI状态来达到最佳性能?
答案 0 :(得分:0)
与其节省大量资源的UI元素,通常最好将状态存储在包含所有数据的视图模型类中,然后使用数据绑定将状态数据绑定到“新的”新UI实例。