如何在WPF中通过重置按钮将字段恢复为原始值
解决方法
要实现可编辑值的重置功能,只需两步完成:在数据类中添加重置逻辑,再在按钮点击事件中调用该逻辑即可。
1. 在fraction_doses类中添加重置方法
你已经通过actual_fraction_dose存储了初始值,直接新增一个方法将editable_fraction_dose重置为这个初始值即可。由于editable_fraction_dose的setter已经包含了EQD2计算和属性变更通知逻辑,重置操作会自动同步更新UI和计算值:
// 在HDR_BED_Calc_local.Helpers.fraction_doses类中添加以下方法 public void ResetToOriginalDose() { this.editable_fraction_dose = this.actual_fraction_dose; }
2. 在用户控件的按钮点击事件中调用重置方法
用户控件的DataContext继承自父窗口,也就是你初始化的fraction_doses实例。只需将DataContext转换为对应类型,然后调用重置方法:
// 修改HDR_BED_Calc_local.Testers.fx_tester的Button_Click方法 private void Button_Click(object sender, RoutedEventArgs e) { if (DataContext is fraction_doses doseViewModel) { doseViewModel.ResetToOriginalDose(); } }
说明
这种方式遵循数据驱动UI的设计思路,不需要直接操作文本框控件,而是通过修改数据自动同步UI状态,代码更易维护。同时借助已有的属性setter逻辑,重置时会自动触发EQD2重新计算,并通过PropertyChanged通知UI更新,无需额外编写UI刷新代码。
内容的提问来源于stack exchange,提问作者thatguy14
相关产品推荐
相关产品推荐

