示例#1
0
        public override object MoveNextItem(int direction, UInt64 id = 0, bool move = true, JumpItemStyle style = JumpItemStyle.MoveTo)
        {
            if (programList.Count == 0)
            {
                return(null);
            }

            var list = programList.Values.OrderBy(item => (int)(item.LeftPos / this.EpgStyle().ServiceWidth) * 1e6 + item.TopPos + item.Width / this.EpgStyle().ServiceWidth / 100).ToList();
            int idx  = list.FindIndex(item => item.Data.CurrentPgUID() == id);

            idx = ViewUtil.GetNextIdx(ItemIdx, idx, list.Count, direction);
            if (move == true)
            {
                programView.ScrollToFindItem(list[idx], style);
            }
            if (move == true)
            {
                ItemIdx = idx;
            }
            return(list[idx] == null ? null : list[idx].Data);
        }