WPF视图的ViewModel或ValueConverter
本文关键字:ValueConverter ViewModel 视图 WPF | 更新日期: 2023-09-27 17:57:33
我有一个WPF应用程序来显示来自串行流的传入字节。我想在允许更改的用户控件中显示这些字节(即字节值更改意味着背景颜色更改以提醒用户,用户选择以十六进制/十进制/二进制形式查看数据)。到目前为止,我有一个
ObservableCollection<ByteDisplay>
其中ByteDisplay
是绑定到数据模型的WPF用户控件,该数据模型具有以下几个相关属性:DisplayFormat(枚举十六进制/二进制/十进制)、data[/strong>(实际字节值)和BgColor。
我的问题是,我必须完全替换ByteDisplay
的DataContext,才能在包含该集合的聚合视图中显示更改。我想我可以使用ValueConverter来收集原始字节,而不是在聚合视图的ViewModel中完成更改,但这是正确的方法吗?
为什么要使用ObservableCollection?听起来真的很奇怪。
在我看来,通过遵循MVVM模式,您可以简单地创建一个绑定到视图模型的用户控件。
在这里,您可以拥有绑定到视图模型中属性的文本块、文本框、数据网格、图表等。您也可以将background属性绑定到viewmodel,或者使用转换器。比如,如果你有其他属性引用了它,比如说你在文本框中显示了一些值,并且你使用相同的值来更改背景色以警告用户,然后使用转换器。
就这么简单。我仍然不理解创建ObservableCollection背后的逻辑。