Exemple #1
0
 public void UpdateProjectItem(ProjectItem item)
 {
     VirtualizingItemContainer itemContainer = m_treeView.GetItemContainer(item);
     if (itemContainer != null)
     {
         m_treeView.DataBindItem(item, itemContainer);
     }
 }
        public void InsertItems(ProjectItem[] items, bool selectAndScrollIntoView)
        {
            if (m_folders == null)
            {
                return;
            }

            items = items.Where(item => m_folders.Contains(item.Parent)).ToArray();
            if (items.Length == 0)
            {
                return;
            }

            m_items = m_items.Union(items).ToList();
            List <ProjectItem> sorted     = m_items.Where(item => item.IsFolder).OrderBy(item => item.Name).Union(m_items.Where(item => !item.IsFolder).OrderBy(item => item.Name)).ToList();
            ProjectItem        selectItem = null;

            for (int i = 0; i < sorted.Count; ++i)
            {
                if (items.Contains(sorted[i]))
                {
                    m_listBox.Insert(i, sorted[i]);
                    selectItem = sorted[i];
                }
                else
                {
                    VirtualizingItemContainer itemContainer = m_listBox.GetItemContainer(sorted[i]);
                    if (itemContainer != null)
                    {
                        m_listBox.DataBindItem(sorted[i], itemContainer);
                    }
                }

                if (!m_idToItem.ContainsKey(sorted[i].ItemID))
                {
                    m_idToItem.Add(sorted[i].ItemID, sorted[i]);
                }
            }
            m_items = sorted;

            if (selectItem != null)
            {
                if (selectAndScrollIntoView)
                {
                    m_listBox.SelectedItem = selectItem;
                    m_listBox.ScrollIntoView(selectItem);
                }
            }
        }