void OnToggleButtonStateChanging(object sender, ToggleButtonEventArgs e)
        {
            VDWidgetTitlePort title = e.ParentShape as VDWidgetTitlePort;
            if (title != null && title.ParentShape != null && title.ParentShape is VDWidgetShape)
            {
                VDWidgetShape widget = title.ParentShape as VDWidgetShape;
                using (Transaction transaction = title.Store.TransactionManager.BeginTransaction("Pin/Unpin"))
                {
                    widget.isPinned = !widget.isPinned;
                    transaction.Commit();
                }

                //
                DiagramClientView clientView = title.Diagram.ActiveDiagramView.DiagramClientView;
                widget.SelectUnpinedParentShape(new DiagramItem(), clientView);
            }
        }
        void OnToggleButtonStateChanging(object sender, ToggleButtonEventArgs e)
        {
            VDWidgetTitlePort title = e.ParentShape as VDWidgetTitlePort;

            if (title != null && title.ParentShape != null && title.ParentShape is VDWidgetShape)
            {
                VDWidgetShape widget = title.ParentShape as VDWidgetShape;
                using (Transaction transaction = title.Store.TransactionManager.BeginTransaction("Pin/Unpin"))
                {
                    widget.isPinned = !widget.isPinned;
                    transaction.Commit();
                }

                //
                DiagramClientView clientView = title.Diagram.ActiveDiagramView.DiagramClientView;
                widget.SelectUnpinedParentShape(new DiagramItem(), clientView);
            }
        }