替換出現之後(ShowWindow
法)Window
隱藏後自動5秒。它也可以手動隱藏(HideWindow
方法)。這是我目前的實施。CancellationTokenSource適當與新
問題:當我打開然後手動關閉窗口某些時候行,然後它立即隱藏到1秒後打開。它不應該通過設計。原因是我用新的替換了CTS,並且從不要求取消。我的CTS技能很差,不能理解如何正確實施。
public class Window
{
public bool Visible { get; set; }
public CancellationTokenSource HideErrorWindowCTS { get; set; }
public async void ShowWindow()
{
Visible = true;
await Task.Delay(TimeSpan.FromSeconds(5));
if (!HideErrorWindowCTS.IsCancellationRequested)
{
Visible = false;
}
}
public void HideWindow()
{
HideErrorWindowCTS.Cancel();
HideErrorWindowCTS = new CancellationTokenSource();
Visible = false;
}
}
也許你應該通過_token_的方法,而不是令牌源 - 那麼你可以使用['CancellationToken.None'(https://msdn.microsoft.com/en-us/library/system.threading。如果你不想取消它,你可以使用canceltoken.none(v = vs.110).aspx)。 – stuartd