wpf - MVVM WPF 数据绑定(bind)到类似 Skype 的聊天?

标签 wpf data-binding mvvm chat

大家好,我有一个我认为很有趣的问题:

你们都知道并喜欢 Skype 聊天界面:每条消息都包含在一个气泡中,带有表情符号和链接功能,以及左侧的头像。

如果我正在创建类似 Skype 的界面,那么容纳每条消息的最理想 WPF 组件是什么?

我正在使用 MVVM,所以我的所有消息都作为 ObservableCollection 存储在 ViewModel 中。

我在绑定(bind)到 RichTextBox 时遇到了问题,因此我研究了绑定(bind)到 Listbox,其中每个列表项都是一条消息,并且每个项的样式都具有 Skypey 边框和头像等。

有任何想法吗?

最佳答案

我找到的唯一合适的解决方案是使用 flowdocumentreader 和 ivalueconverter 将字符串数组转换为 flowdocument。一旦我制作了自己的类似于 bbcode 的脚本语言,它实际上工作得很好。

这是我从中学到的样本。 http://michaelsync.net/2009/06/09/bindable-wpf-richtext-editor-with-xamlhtml-convertor

这对我来说有点矫枉过正,所以我最终只制作了 ivalueconverter 和一个简单的脚本语言。

关于wpf - MVVM WPF 数据绑定(bind)到类似 Skype 的聊天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1259021/

相关文章:

WPF 浏览器应用程序与 WPF 桌面应用程序

wpf - System.Windows.Input 对 C++/CLI 不可用?

wpf - 为什么要使用 DataTemplate.DataType

wpf - 基于枚举为数据模板选择用户控件

wpf - MVVM 将 viewmodel 属性子项绑定(bind)到 viewmodel 属性

c# - WPF - 防止用户操作在应用程序繁忙时排队

excel - VSTO Excel : How to make a custom column mapping with ListObject?

Android数据绑定(bind)@BindingConversion失败,用于int到字符串

c# - TextBox应该以特定格式显示十六进制文本

wpf - 为什么绑定(bind)对目标到源不起作用