void OnItemsChanged(object sender, ItemListChangedArgs e) { if (IsReseting || RootPanel == null) { return; } // RootPanel.Children的0位置是CenterItem,比Items多一个元素! if (e.CollectionChange == CollectionChange.ItemInserted) { Pane item = Items[e.Index] as Pane; if (item != null && item.Pos != PanePosition.Floating && !RootPanel.Children.Contains(item)) { RootPanel.Children.Insert(e.Index + 1, item); } } else if (e.CollectionChange == CollectionChange.ItemRemoved) { RootPanel.Children.RemoveAt(e.Index + 1); } else { throw new Exception("Win不支持子项集合重置!"); } }
void OnItemsChanged(object sender, ItemListChangedArgs e) { if (e.CollectionChange == CollectionChange.ItemInserted) { var item = Items[e.Index]; InitItem(item); _itemsPanel.Children.Insert(e.Index, item); } else if (e.CollectionChange == CollectionChange.ItemRemoved) { ((TabItem)_itemsPanel.Children[e.Index]).IsSelected = false; _itemsPanel.Children.RemoveAt(e.Index); } else { for (int i = 0; i < Items.Count; i++) { var item = Items[i]; if (_itemsPanel.Children.Count > i) { var elem = _itemsPanel.Children[i]; // 内容没变 if (item == elem) { continue; } // 变了移除旧元素 _itemsPanel.Children.RemoveAt(i); } InitItem(item); _itemsPanel.Children.Insert(i, item); } // 移除多余的元素 while (_itemsPanel.Children.Count > Items.Count) { _itemsPanel.Children.RemoveAt(_itemsPanel.Children.Count - 1); } } if (!ShowContent) { _selector.Select(null); } else if (e.CollectionChange == CollectionChange.ItemInserted) { _selector.Select(Items[e.Index]); } else { _selector.ResetSelection(); } ApplyOutlookStyle(); OnItemsChanged(); }
static void OnItemsChanged(object sender, ItemListChangedArgs e) { if (e.CollectionChange == CollectionChange.ItemInserted || e.CollectionChange == CollectionChange.ItemChanged) { var info = ((ItemList <NotifyInfo>)sender)[e.Index]; SysVisual.InsertNotifyItem(e.Index, new NotifyItem(info)); } else if (e.CollectionChange == CollectionChange.ItemRemoved) { SysVisual.RemoveNotifyItem(e.Index); } else { SysVisual.ClearAllNotify(); } }
void OnItemsChanged(object sender, ItemListChangedArgs e) { if (e.CollectionChange == CollectionChange.ItemInserted) { _taskbarPanel.Children.Insert(e.Index, new TaskbarItem(Items[e.Index])); } else if (e.CollectionChange == CollectionChange.ItemRemoved) { _taskbarPanel.Children.RemoveAt(e.Index); } else { throw new Exception("Win不支持子项集合重置!"); } ResizeAllItems(); }
void OnItemsChanged(object sender, ItemListChangedArgs e) { if (e.CollectionChange == CollectionChange.ItemInserted) { Mi mi = ((MiList)sender)[e.Index]; mi.InitOwner(Owner, this); } else if (e.CollectionChange == CollectionChange.Reset) { InitSubsOwner(); } if (_loaded) { UpdateRoleState(); } }
void OnItemsChanged(object sender, ItemListChangedArgs e) { if (e.CollectionChange == CollectionChange.ItemRemoved) { _itemsPanel.Children.RemoveAt(e.Index); RemoveUnused(); RefreshInternal(); } else if (e.CollectionChange == CollectionChange.ItemInserted) { AddItem(Items[e.Index], e.Index); RefreshInternal(); } else { throw new Exception("Pane不支持子项重置!"); } }
void OnContextItemsChanged(object sender, ItemListChangedArgs e) { if (e.CollectionChange == CollectionChange.ItemInserted) { Mi mi = _owner.Items[e.Index]; mi.UpdateOwner(_owner, null); Children.Insert(e.Index, mi); } else if (e.CollectionChange == CollectionChange.ItemRemoved) { Children.RemoveAt(e.Index); } else if (e.CollectionChange == CollectionChange.Reset) { Children.Clear(); LoadContextItems(); } }
void OnItemsChanged(object sender, ItemListChangedArgs e) { _panel.Children.Clear(); }