// X Y
        private void ConstructXY()
        {
            //@Focus
            TextBoxExtensions.SetDefault(this.XTextBox, $"{0}");
            this.XTextBox.Text     = $"{0}";
            this.XTextBox.KeyDown += (s, e) => { if (e.Key == VirtualKey.Enter)
                                                 {
                                                     this.Focus(FocusState.Programmatic);
                                                 }
            };
            this.XTextBox.GotFocus  += (s, e) => this.SettingViewModel.UnregisteKey();
            this.XTextBox.LostFocus += (s, e) =>
            {
                this.SettingViewModel.RegisteKey();
                if (this.XTextBox.Text is string value)
                {
                    if (string.IsNullOrEmpty(value))
                    {
                        return;
                    }
                    float x = float.Parse(value);

                    Transformer transformer = this.SelectionTransformer;
                    Vector2     vector      = transformer.TransformX((float)x, this.IndicatorMode);

                    // Method
                    this.MethodViewModel.MethodTransformAdd(vector);
                }
            };


            //@Focus
            TextBoxExtensions.SetDefault(this.YTextBox, $"{0}");
            this.YTextBox.Text     = $"{0}";
            this.YTextBox.KeyDown += (s, e) => { if (e.Key == VirtualKey.Enter)
                                                 {
                                                     this.Focus(FocusState.Programmatic);
                                                 }
            };
            this.YTextBox.GotFocus  += (s, e) => this.SettingViewModel.UnregisteKey();
            this.YTextBox.LostFocus += (s, e) =>
            {
                this.SettingViewModel.RegisteKey();
                if (this.YTextBox.Text is string value)
                {
                    if (string.IsNullOrEmpty(value))
                    {
                        return;
                    }
                    float y = float.Parse(value);

                    Transformer transformer = this.SelectionTransformer;
                    Vector2     vector      = transformer.TransformY((float)y, this.IndicatorMode);

                    // Method
                    this.MethodViewModel.MethodTransformAdd(vector);
                }
            };
        }
        // Radian Skew
        private void ConstructRadianSkew()
        {
            //@Focus
            TextBoxExtensions.SetDefault(this.RotateTextBox, $"{0} º");
            this.RotateTextBox.Text     = $"{0} º";
            this.RotateTextBox.KeyDown += (s, e) => { if (e.Key == VirtualKey.Enter)
                                                      {
                                                          this.Focus(FocusState.Programmatic);
                                                      }
            };
            this.RotateTextBox.GotFocus  += (s, e) => this.SettingViewModel.UnregisteKey();
            this.RotateTextBox.LostFocus += (s, e) =>
            {
                this.SettingViewModel.RegisteKey();
                if (this.RotateTextBox.Text is string value)
                {
                    if (string.IsNullOrEmpty(value))
                    {
                        return;
                    }
                    value = value.Replace("º", string.Empty);

                    float angle = float.Parse(value);
                    if (angle < -180)
                    {
                        angle = -180; this.RotateTextBox.Text = $"{180} º";
                    }
                    else if (angle > 180)
                    {
                        angle = 180; this.RotateTextBox.Text = $"{-180} º";
                    }

                    Transformer transformer = this.SelectionTransformer;
                    Matrix3x2   matrix      = transformer.TransformRotate((float)angle, this.IndicatorMode);

                    // Method
                    this.MethodViewModel.MethodTransformMultiplies(matrix);
                }
            };


            //@Focus
            TextBoxExtensions.SetDefault(this.SkewTextBox, $"{0} º");
            this.SkewTextBox.Text     = $"{0} º";
            this.SkewTextBox.KeyDown += (s, e) => { if (e.Key == VirtualKey.Enter)
                                                    {
                                                        this.Focus(FocusState.Programmatic);
                                                    }
            };
            this.SkewTextBox.GotFocus  += (s, e) => this.SettingViewModel.UnregisteKey();
            this.SkewTextBox.LostFocus += (s, e) =>
            {
                this.SettingViewModel.RegisteKey();
                if (this.SkewTextBox.Text is string value)
                {
                    if (string.IsNullOrEmpty(value))
                    {
                        return;
                    }
                    value = value.Replace("º", string.Empty);

                    float angle = float.Parse(value);
                    if (angle < -90)
                    {
                        angle = -90; this.SkewTextBox.Text = $"{90} º";
                    }
                    else if (angle > 90)
                    {
                        angle = 90; this.SkewTextBox.Text = $"{-90} º";
                    }

                    Transformer transformer = this.SelectionTransformer;
                    Matrix3x2   matrix      = transformer.TransformSkew((float)angle, this.IndicatorMode);

                    // Method
                    this.MethodViewModel.MethodTransformMultiplies(matrix);
                }
            };
        }
        // Width Height
        private void ConstructWidthHeight()
        {
            //@Focus
            TextBoxExtensions.SetDefault(this.WidthTextBox, $"{1}");
            this.WidthTextBox.Text     = $"{1}";
            this.WidthTextBox.KeyDown += (s, e) => { if (e.Key == VirtualKey.Enter)
                                                     {
                                                         this.Focus(FocusState.Programmatic);
                                                     }
            };
            this.WidthTextBox.GotFocus  += (s, e) => this.SettingViewModel.UnregisteKey();
            this.WidthTextBox.LostFocus += (s, e) =>
            {
                this.SettingViewModel.RegisteKey();
                if (this.WidthTextBox.Text is string value)
                {
                    if (string.IsNullOrEmpty(value))
                    {
                        return;
                    }

                    float width = float.Parse(value);
                    if (width < 1)
                    {
                        width = 1; this.WidthTextBox.Text = $"{1}";
                    }

                    Transformer transformer = this.SelectionTransformer;
                    Matrix3x2   matrix      = transformer.TransformWidth((float)width, this.IndicatorMode, this.IsRatio);

                    // Method
                    this.MethodViewModel.MethodTransformMultiplies(matrix);
                }
            };

            //@Focus
            TextBoxExtensions.SetDefault(this.HeightTextBox, $"{1}");
            this.HeightTextBox.Text     = $"{1}";
            this.HeightTextBox.KeyDown += (s, e) => { if (e.Key == VirtualKey.Enter)
                                                      {
                                                          this.Focus(FocusState.Programmatic);
                                                      }
            };
            this.HeightTextBox.GotFocus  += (s, e) => this.SettingViewModel.UnregisteKey();
            this.HeightTextBox.LostFocus += (s, e) =>
            {
                this.SettingViewModel.RegisteKey();
                if (this.HeightTextBox.Text is string value)
                {
                    if (string.IsNullOrEmpty(value))
                    {
                        return;
                    }

                    float height = float.Parse(value);
                    if (height < 1)
                    {
                        height = 1; this.HeightTextBox.Text = $"{1}";
                    }

                    Transformer transformer = this.SelectionTransformer;
                    Matrix3x2   matrix      = transformer.TransformHeight((float)height, this.IndicatorMode, this.IsRatio);

                    // Method
                    this.MethodViewModel.MethodTransformMultiplies(matrix);
                }
            };
        }