private void AnimationCompleted(double to) { Dispatcher.Invoke(() => { // start auto hide timer if opacity is 100% and no mouse is over if (to == 1.0 && !_mouseIsOver) { _timer.Start(); } // hide if opacity is 0% if (to == 0.0) { Hide(); lock ( _lock ) { _currentControllerIndex = -1; } } // check if there is an item in the wait queue if (to == 0.0 && _infoQueue.Size() > 0) { // get next queue item and show info window InfoQueueItem iqi = _infoQueue.Get(); ShowInfo(iqi.text, iqi.controller); } }); }
public InfoQueueItem Get() { if (_data.Count > 0) { InfoQueueItem iwqi = _data[0]; _data.RemoveAt(0); return(iwqi); } return(null); }