public static void RemoveKeyBindings(this swi.InputBindingCollection bindings, swc.ItemCollection items) { foreach (var item in items.OfType <sw.UIElement>()) { bindings.RemoveKeyBindings(item); } }
void CopyKeyBindings(swc.ItemCollection items) { foreach (var item in items.OfType <swc.MenuItem>()) { Control.InputBindings.AddRange(item.InputBindings); if (item.HasItems) { CopyKeyBindings(item.Items); } } }
/// <summary> /// Searches for given menu item. /// First it tries to find it among first layer items (e.g. File, Edit, etc.) /// If it doesn't find given menuitem, it tries to search one layer deeper. /// </summary> /// <param name="menuItems">Menu items among which we will search for needed item.</param> /// <param name="searchItem">Menu item, that we want to find.</param> /// <returns>Returns parent item for searched item.</returns> private MenuItem SearchForMenuItemRecursively(ItemCollection menuItems, Control searchItem) { var collectionOfItems = menuItems.OfType<Control>(); foreach (var item in collectionOfItems) { if (item == searchItem) return item.Parent as MenuItem; } var collectionOfMenuItems = menuItems.OfType<MenuItem>(); foreach (var item in collectionOfMenuItems) { return SearchForMenuItemRecursively(item.Items, searchItem); } return null; }
/// <summary> /// Gets the element in this collection by it's name tag. /// </summary> /// <param name="This">This ItemCollection.</param> /// <param name="name">The name.</param> /// <returns>The FrameworkElement that matches the given name or <c>null</c>.</returns> public static FrameworkElement GetElementByName(this ItemCollection This, string name) { Contract.Requires(This != null); return(This.OfType <FrameworkElement>().FirstOrDefault(e => e != null && e.Name == name)); }
private List<TabItem> ToTabsList(ItemCollection tabs) { List<TabItem> TabsStart = tabs.OfType<TabItem>().ToList<TabItem>(); TabsStart.RemoveAt(TabsStart.Count - 1); return TabsStart; }