コード例 #1
0
        public void Display(Task[] tasks)
        {
            var currentTaskId = (string)_lstTasks.CurrentItem?.Attachment;

            Display_items();
            Set_current_item();


            void Display_items()
            {
                _lstTasks.Clear();
                foreach (var t in tasks)
                {
                    var item = _lstTasks.Add(Format_task_info(t));
                    Embelish_item(item, t);
                }
            }

            void Set_current_item()
            {
                if (_lstTasks.Items.Length == 0)
                {
                    return;
                }
                if (currentTaskId == null)
                {
                    _lstTasks.CurrentItemIndex = 0;
                }
                else
                {
                    var taskEntry = Locate_task_entry(currentTaskId);
                    if (taskEntry.item == null)
                    {
                        _lstTasks.CurrentItemIndex = 0;
                    }
                    else
                    {
                        _lstTasks.CurrentItemIndex = taskEntry.index;
                    }
                }
            }
        }