c# - 更新数据绑定对象中的值时的良好程序结构
问题描述
我正在编写一个基于 Winforms 的工具,并且可以在结构上使用一些指导。该程序通过串行与硬件进行通信,并显示一个 GUI 来显示值。大多数值要么从电脑设置,要么从设备读取。有一些是从电脑设置的,然后由设备确认。
目前我有一个模型对象,其中包含设备可以发送或接收的所有值。它使用带有数据绑定的 PropertyChangedEvent 在表单上显示值。此外,还有一个监听事件的编码器/解码器,它对更改进行编码并将其发送到串行端口。
在串口接收函数中,消息被解码,并更新模型中的正确值。我遇到的问题是这将导致另一个 PropertyChangedEvent,它将发送另一个串行消息。我正在寻找一种用其他东西替换那个监听器的好方法?我想维护表单的数据绑定,以便每个表单元素都不需要事件。
大多数值是这样声明的:
private bool _voltageVBatToggle;
public bool voltageVBatToggle
{
get => _voltageVBatToggle;
set
{
if (_voltageVBatToggle != value)
{
_voltageVBatToggle = value;
OnPropertyChanged();
}
}
}
解决方案
推荐阅读
- controller - 在 Hybris 中扩展控制器加速器服务
- c++ - 两台不同机器之间通过 wifi 进行 C++ Socket 通信
- python - pygame,如何让我的游戏中的分数在循环内只添加一次?
- karate - 空手道:将 JSCH 类与空手道框架集成
- python - For 循环遍历 DataFrame Python 的函数
- javascript - geocoder.geocode 响应延迟导致麻烦
- android - 由于可变值kotlin,如何更新recyclerView列表?
- node.js - 删除引用节点 JS
- php - 摆脱 php 数组中的幻数
- python - 通过python脚本登录mt4账号