使用 MVVM 模式的基本原理和数据绑定来实现,而不依赖于特定的库或工具(实际使用的CommunityToolkit.Mvvm的ObservableObject 来代替实现INotifyPropertyChanged接口)
具体代码示例如下
public partial class InfusionPumpModel : ObservableObject
{
//[ObservableProperty]
private int _NeedSeconds;
public int NeedSeconds
{
get { return _NeedSeconds; }
set
{
if (_NeedSeconds != value)
{
_NeedSeconds = value;
OnPropertyChanged(nameof(_NeedSeconds));
// 在这里更新 NeedSecondsStr
TimeSpan time = TimeSpan.FromSeconds(value);
NeedSecondsStr= $"{(int)time.TotalHours:D2}:{time.Minutes:D2}:{time.Seconds:D2}";
}
}
}
[ObservableProperty]
private string? _NeedSecondsStr;
}
以上代码就可以实现只要_NeedSeconds值发生变化_NeedSecondsStr就会同步格式化 将秒转为时间hh:mm:ss 此种写法$"{(int)time.TotalHours:D2}:{time.Minutes:D2}:{time.Seconds:D2}";
可以让秒数转换成的hh:mm:ss 时间字符串的小时数突破24小时