【发布时间】:2017-07-05 14:35:41
【问题描述】:
是否可以将复选框绑定到 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 属性。最后,如果 Autoreset 被禁用并且计时器触发 Elapsed 事件并因此将 Enabled 设置为 false,我希望“EnabledCheckbox”自行取消选中。
我如何做到这一点?
编辑:我可以自己实现自动重置,但有更好的方法吗?
【问题讨论】: