首页 新闻 会员 周边

WPF 控件解耦问题

0
[已关闭问题] 关闭于 2015-11-02 19:28

背景:我们开发了一个在线聊天程序,在做聊天历史纪录的呈现的时候我们用到了FlowDocument

                   关于数据:MessageModel  聊天消息实体

                                     MessageModelList 聊天消息实体集合

        现阶段解决方案:我们为MessageModelList定义了一个监听事件,如果MessageModelList发生变化(Add,Remove,就执行这个事件---MessageModelList中新增的MessageModel new一个Paragraph来接收这个MessageModel,然后把这个Paragraph加到Document中。但是这种办法不能实现ViewViewModel之间的解耦。

 

        我想到的解决方法:用ListBox,把MessageModelList bindingItemSource中,但我们历史消息框只是为了呈现消息而已,不需要ListBox那么多功能,感觉用ListBox有点大材小用了。而且ListBox的机制应该是(我目前理解)当

MessageModelList发生变化时ListBox会重新生成一次ListBoxItem,这样是否会耗费资源?

         

         我的问题:

1.       使用ListBox是否合适?能不能把我不需要的ListBox的功能屏蔽掉,能不能把我新增的MessageModelList中的MessageModel生成一个新的ListBoxItem直接加到Document中,而不是重新生成一次ListBoxItem?(如果我对ListBox没有理解错误的话。)

2.       如果我继续使用FlowDocument是否能实现直接一个Sourcebanding MessageModelList,而不需要我在ViewModel里面去New Paragraph

3.       有没有更好的解决方案或其他控件符合我所需要的特性。

小民师兄的主页 小民师兄 | 菜鸟二级 | 园豆:206
提问于:2015-09-11 12:21
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册