Esempio n. 1
0
        private void GatherMenuItemColumns(ViewBase element)
        {
            // Does this element expose the column interface?
            if (element is IContextMenuItemColumn)
            {
                IContextMenuItemColumn column = (IContextMenuItemColumn)element;
                int  columnIndex         = column.ColumnIndex;
                Size columnPreferredSize = column.LastPreferredSize;

                // If the first entry for this column...
                if (!_columnToWidth.ContainsKey(columnIndex))
                {
                    _columnToWidth.Add(columnIndex, columnPreferredSize.Width);
                }
                else
                {
                    // Grab the current preferred size
                    int preferredWidth = _columnToWidth[columnIndex];

                    // Find the largest sizing
                    preferredWidth = Math.Max(preferredWidth, columnPreferredSize.Width);

                    // Put modified value back
                    _columnToWidth[columnIndex] = preferredWidth;
                }
            }

            // Process child elements
            foreach (ViewBase child in element)
            {
                GatherMenuItemColumns(child);
            }
        }
Esempio n. 2
0
        private void ClearMenuItemColumns(ViewBase element)
        {
            // Does this element expose the column interface?
            if (element is IContextMenuItemColumn)
            {
                IContextMenuItemColumn column = (IContextMenuItemColumn)element;
                column.OverridePreferredWidth = 0;
            }

            // Process child elements
            foreach (ViewBase child in element)
            {
                ClearMenuItemColumns(child);
            }
        }