【发布时间】:2016-07-18 16:08:54
【问题描述】:
我有一个 WPF 应用程序来显示来自串行流的传入字节。我想在允许更改的用户控件中显示这些字节(即字节值更改意味着背景颜色更改以提醒用户,用户选择以十六进制/十进制/二进制查看数据)。到目前为止,我有一个
ObservableCollection<ByteDisplay>
其中ByteDisplay 是一个 WPF 用户控件,它绑定到具有一些相关属性的数据模型:DisplayFormat(枚举 Hex/Binary/Decimal)、Data(实际字节值)和 BgColor(表示系统颜色的字符串,表示值已更改)。
我的问题是我必须完全替换 ByteDisplay 的 DataContext 才能在包含此集合的聚合视图中显示更改。我想我可以使用 ValueConverter 来收集原始字节来解决这个问题,而不是完成聚合视图的 ViewModel 中的更改,但这是正确的方法吗?
【问题讨论】:
-
不要创建 UI 元素的 observable 集合,你应该严格分离数据和视图组件。