protected void CreatePositionedItems() { _positionedItems.Clear(); int x = 0; ItemsList menuItems = MenuItems; lock (menuItems.SyncRoot) { foreach (var menuItem in menuItems) { object action; if (!menuItem.AdditionalProperties.TryGetValue(Consts.KEY_ITEM_ACTION, out action)) { continue; } WorkflowAction wfAction = action as WorkflowAction; if (wfAction == null) { continue; } // Under "others" all items are places, that do not fit into any other category if (CurrentKey == MenuSettings.MENU_NAME_OTHERS) { bool found = _menuSettings.MenuItems.Keys.Any(key => _menuSettings.MenuItems[key].ContainsKey(wfAction.ActionId)); if (!found) { GridListItem gridItem = new GridListItem(menuItem) { GridColumn = x % MenuSettings.DEFAULT_NUM_COLS, GridRow = (x / MenuSettings.DEFAULT_NUM_COLS) * MenuSettings.DEFAULT_ROWSPAN_SMALL, GridRowSpan = MenuSettings.DEFAULT_ROWSPAN_SMALL, GridColumnSpan = MenuSettings.DEFAULT_COLSPAN_SMALL, }; _positionedItems.Add(gridItem); x += MenuSettings.DEFAULT_COLSPAN_SMALL; } } else { GridPosition gridPosition; if (Positions.TryGetValue(wfAction.ActionId, out gridPosition)) { GridListItem gridItem = new GridListItem(menuItem) { GridRow = gridPosition.Row, GridColumn = gridPosition.Column, GridRowSpan = gridPosition.RowSpan, GridColumnSpan = gridPosition.ColumnSpan, }; _positionedItems.Add(gridItem); } } } } _positionedItems.FireChange(); }
protected override FrameworkElement PrepareItemContainer(object dataItem) { FrameworkElement container = base.PrepareItemContainer(dataItem); GridListItem gli = dataItem as GridListItem; if (gli != null) { Grid.SetColumn(container, gli.GridColumn); Grid.SetColumnSpan(container, gli.GridColumnSpan); Grid.SetRow(container, gli.GridRow); Grid.SetRowSpan(container, gli.GridRowSpan); } return(container); }
protected void CreatePositionedItems() { _positionedItems.Clear(); int x = 0; foreach (var menuItem in MenuItems) { object action; if (!menuItem.AdditionalProperties.TryGetValue(Consts.KEY_ITEM_ACTION, out action)) continue; WorkflowAction wfAction = action as WorkflowAction; if (wfAction == null) continue; // Under "others" all items are places, that do not fit into any other category if (CurrentKey == MenuSettings.MENU_NAME_OTHERS) { bool found = _menuSettings.MenuItems.Keys.Any(key => _menuSettings.MenuItems[key].ContainsKey(wfAction.ActionId)); if (!found) { GridListItem gridItem = new GridListItem(menuItem) { GridColumn = x % MenuSettings.DEFAULT_NUM_COLS, GridRow = (x / MenuSettings.DEFAULT_NUM_COLS) * MenuSettings.DEFAULT_ROWSPAN_SMALL, GridRowSpan = MenuSettings.DEFAULT_ROWSPAN_SMALL, GridColumnSpan = MenuSettings.DEFAULT_COLSPAN_SMALL, }; _positionedItems.Add(gridItem); x += MenuSettings.DEFAULT_COLSPAN_SMALL; } } else { GridPosition gridPosition; if (Positions.TryGetValue(wfAction.ActionId, out gridPosition)) { GridListItem gridItem = new GridListItem(menuItem) { GridRow = gridPosition.Row, GridColumn = gridPosition.Column, GridRowSpan = gridPosition.RowSpan, GridColumnSpan = gridPosition.ColumnSpan, }; _positionedItems.Add(gridItem); } } } _positionedItems.FireChange(); }