簡體   English   中英

將復選框綁定到Timer.Enabled

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM