internal void OnPositionChanged(GroupPanelPosition position)
        {
            switch (position)
            {
            case GroupPanelPosition.Left:
                this.HorizontalAlignment = HorizontalAlignment.Left;
                this.VerticalAlignment   = VerticalAlignment.Stretch;
                this.Width  = 40;
                this.Height = double.NaN;
                break;

            case GroupPanelPosition.Bottom:
                this.HorizontalAlignment = HorizontalAlignment.Stretch;
                this.VerticalAlignment   = VerticalAlignment.Top;
                this.Height = 40;
                this.Width  = double.NaN;
                break;

            default:
                break;
            }
        }
        private void UpdatePositionVisualState(GroupPanelPosition position)
        {
            var stateName = position.ToString();

            this.SetVisualState(stateName, false);
        }