[英]Bind checkbox to Timer.Enabled
是否可以将复选框绑定到System.Timers.Timer的Enabled属性?
我可以将其包装在返回其状态的布尔属性中,如下所示:
public bool TimerEnabled
{
get { return _timer.Enabled; }
set
{
_timer.Enabled = value;
InvokePropertyChanged(new PropertyChangedEventArgs("TimerEnabled"));
}
}
但是当_timer.Autoreset = false和_timer.Enabled更改值时,我没有收到通知。
我想要一个复选框(“ EnabledCheckbox”),其中显示计时器的当前状态,用户可以启用或禁用它。 此外,我需要另一个复选框(“ AutoResetCheckbox”)来控制此计时器是否启用了Autoreset属性。 最后,如果禁用了自动重置并且计时器触发了Elapsed事件,因此将Enabled设置为false,我希望“ EnabledCheckbox”自行取消选中。
我该如何实现?
编辑:我可以自己实现自动重置,但是有更好的方法吗?
将_timer.Autoreset包装到这样的属性中:
public bool Autoreset
{
get { return _timer.Autoreset; }
set
{
_timer.Autoreset = value;
InvokePropertyChanged(new PropertyChangedEventArgs(nameof(TimerEnabled));
InvokePropertyChanged(new PropertyChangedEventArgs(nameof(Autoreset));
}
}
然后使用该属性而不是_timer.Autoreset。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.