コード例 #1
0
ファイル: UIComponents.cs プロジェクト: yungtau/oea
        private static TabItem CreateATabItem(Region child)
        {
            var label = child.ChildrenLabel ?? child.ControlResult.MainView.Meta.Label;

            var tabHeader = new Label()
            {
                Content = label.Translate()
            };

            tabHeader.MouseDoubleClick += (s, e) =>
            {
                CommandRepository.TryExecuteCommand(typeof(MaxShowViewCommand), child.ControlResult.MainView);
            };

            var tabItem = new TabItem()
            {
                Header  = tabHeader,
                Content = child.ControlResult.Control
            };

            AutomationProperties.SetName(tabItem, label);

            WPFMeta.SetLogicalView(tabItem, child.ControlResult.MainView);
            ViewAdapter.AdaptView(child.ControlResult.MainView, tabItem);

            return(tabItem);
        }
コード例 #2
0
ファイル: UIComponents.cs プロジェクト: yungtau/oea
        /// <summary>
        /// 外部可以使用这个辅助方法来实现子页签的摆放
        /// </summary>
        /// <param name="childrenTab"></param>
        public void ArrangeChildrenByTabControl(TabControl childrenTab)
        {
            childrenTab.Style = RafyResources.TabControlHeaderHide;

            var children = this.Children;

            if (children.Count > 0)
            {
                foreach (var child in children)
                {
                    var tabItem = CreateATabItem(child);
                    childrenTab.Items.Add(tabItem);
                }

                var parentView = children[0].ControlResult.MainView.Parent;
                ViewAdapter.AdaptView(parentView, childrenTab);
            }
            else
            {
                childrenTab.RemoveFromParent(false);
            }
        }