示例#1
0
        public static Orientation GetOrientation(this Panel panel)
        {
            if (panel == null)
            {
                return(0);
            }
            WrapPanel wrapPanel = panel as WrapPanel;

            if (wrapPanel != null)
            {
                return(wrapPanel.Orientation);
            }
            TabPanel tabPanel = panel as TabPanel;

            if (tabPanel == null)
            {
                return(panel.HasLogicalOrientationPublic ? panel.LogicalOrientationPublic : Orientation.Vertical);
            }
            TabControl tabControl = tabPanel.FindVisualTreeAncestor <TabControl>();

            return(tabControl != null && tabControl.TabStripPlacement != Dock.Left && tabControl.TabStripPlacement != Dock.Right ? Orientation.Horizontal : Orientation.Vertical);
        }