public LASplineIKControl(LASplineIKControlConstructionParams csParam)
            : base(csParam)
        {
            InitConstruction();
            NodeName = csParam.NodeName;
            Alpha    = csParam.Alpha;
            BindingTemplateClassInstanceProperties();

            IsOnlyReturnValue = true;
            InitializeLinkControl(csParam);
        }
        void InitializeLinkControl(LASplineIKControlConstructionParams csParam)
        {
            mInPoseLinkHandle               = InPoseHandle;
            mAlphaValueLinkHandle           = AlphaValueHandle;
            mOutLinkHandle                  = OutPoseHandle;
            mInPoseLinkHandle.MultiLink     = false;
            mAlphaValueLinkHandle.MultiLink = false;
            mOutLinkHandle.MultiLink        = false;

            mInPoseLinkHandle.NameStringVisible = Visibility.Visible;
            mInPoseLinkHandle.NameString        = "Pose";
            //mAdditiveLinkHandle.NameStringVisible = Visibility.Visible;
            //mAdditiveLinkHandle.NameString = "AdditivePose";
            mAlphaValueLinkHandle.NameStringVisible = Visibility.Visible;
            mAlphaValueLinkHandle.NameString        = "Alpha";
            AlphaValueTextBlock.Visibility          = Visibility.Visible;
            mAlphaValueLinkHandle.OnAddLinkInfo    += AlphaValueLinkHandle_OnAddLinkInfo;
            mAlphaValueLinkHandle.OnDelLinkInfo    += AlphaValueLinkHandle_OnDelLinkInfo;
            AddLinkPinInfo("InPoseLinkHandle", mInPoseLinkHandle, null);
            AddLinkPinInfo("AlphaValueLinkHandle", mAlphaValueLinkHandle, null);
            AddLinkPinInfo("OutLinkHandle", mOutLinkHandle, null);
        }