示例#1
0
        public Form1()
        {
            InitializeComponent();

            tileBarMovimentoCaixa.Tag = UserControlType.ucMovimentoCaixa;
            tileBarCadastroCliente.Tag = UserControlType.ucCadCliente;
            UserControlController.UserControl.UserControlParent = ucContainer;

            // montando o container

            TileBarItem itemA1 = new TileBarItem() { Text = "cadastro de clientes" };
            TileBarItem itemA2 = new TileBarItem() { Text = "cadastro de fornecedores" };

            TileBarDropDownContainer ddContainer = new TileBarDropDownContainer();
            ddContainer.Size = new System.Drawing.Size(595, 185);

            TileBar innerBar = new TileBar() { Parent = ddContainer, Dock = DockStyle.Fill };
            innerBar.Groups.Add(new TileGroup());
            innerBar.Groups[0].Items.Add(itemA1);
            innerBar.Groups[0].Items.Add(itemA2);

            ddContainer.Controls.Add(innerBar);
            tileBarCadastroCliente.DropDownControl = ddContainer;
        }
        private TileBarItem CreateBarItem(IContentContainer container)
        {
            var view = container.Manager.View as WindowsUIView;
            if (view == null)
            {
                return null;
            }
            var tileBarItem = new TileBarItem()
            {
                Text = String.IsNullOrEmpty(container.Caption) ? container.Subtitle : container.Caption,
                TextAlignment = TileItemContentAlignment.MiddleLeft,
                ItemSize = TileBarItemSize.Wide,
                SuperTip = new SuperToolTip()
            };
            tileBarItem.SuperTip.Items.Add(tileBarItem.Text);
            tileBarItem.ItemClick += (s, e) => view.ActivateContainer(container);
            tileBarItem.DropDownOptions.AutoHeight = DefaultBoolean.True;

            var tileContainer = container as TileContainer;

            if (tileContainer != null && tileContainer.Items.Count > 0)
            {
                var ddContainer = new TileBarDropDownContainer
                {
                    Height = (int) (view.Manager.ContainerControl.Height*0.33f),
                    BorderStyle = BorderStyles.Flat
                };
                ddContainer.Appearance.BorderColor = Color.FromArgb(160,160,160);
                
                var ddTileBar = new TileBar
                {
                    ItemSize = 25,
                    Dock = DockStyle.Fill,
                    Orientation = Orientation.Horizontal,
                    BackColor = this.tileBarNavigation.BackColor
                };
                //ddTileBar.AppearanceItem.Normal.BackColor = Color.FromArgb(37, 116, 169);
                ddTileBar.AppearanceItem.Normal.BackColor = Color.Transparent;
                ddTileBar.AppearanceItem.Normal.ForeColor = Color.FromArgb(59, 59, 59);
                ddTileBar.AppearanceItem.Normal.TextOptions.HAlignment = HorzAlignment.Near;
                ddTileBar.AppearanceItem.Normal.TextOptions.VAlignment = VertAlignment.Center;
                ddTileBar.AppearanceItem.Normal.TextOptions.Trimming = Trimming.EllipsisCharacter;
                ddTileBar.AppearanceItem.Normal.TextOptions.WordWrap = WordWrap.NoWrap;
                ddTileBar.ScrollMode = TileControlScrollMode.ScrollButtons;

                var ddTileGroup = new TileBarGroup();
                ddTileBar.Groups.Add(ddTileGroup);
                foreach (var item in tileContainer.Items)
                {
                    if (item == null)
                    {
                        continue;
                    }
                    var tile = (Tile)item;
                    var childContainer = tile.ActivationTarget;
                    var childDocument = tile.Document;
                    var menuItem = new TileBarItem() { ItemSize = TileBarItemSize.Wide };

                    if (childContainer != null)
                    {
                        menuItem.Text = String.IsNullOrEmpty(childContainer.Subtitle) ? childContainer.Caption : childContainer.Subtitle;
                        menuItem.ItemClick += (s, e) => view.ActivateContainer(childContainer);
                    }
                    else if (childDocument != null)
                    {
                        menuItem.Text = childDocument.Caption;
                        menuItem.ItemClick += (s, e) => view.ActivateDocument(childDocument);
                    }
                    else
                    {
                        continue;
                    }
                    ddTileGroup.Items.Add(menuItem);
                }
                ddContainer.Controls.Add(ddTileBar);
                tileBarItem.DropDownControl = ddContainer;
            }
            return tileBarItem;
        }