none
WPF控件通过RenderTransform按比例缩放?怎么才能持续放大? RRS feed

  • 问题

  •  private void zoomlargeBtn_Click(object sender, RoutedEventArgs e)
            {
                   scaleTransform.ScaleX += 0.1;
                scaleTransform.ScaleY += 0.1;
                scaleTransform.CenterX = SystemParameters.PrimaryScreenWidth / 2;
                scaleTransform.CenterY = SystemParameters.PrimaryScreenHeight / 2;
                foreach (UIElement et in this.DrawCanvas.Children)
                {
                    
                    et.RenderTransform = scaleTransform;
                }
                
            }
    我想每次点击在现有的基础上按比例放大,怎么点击一次之后放大到1.1之后,后面的点击就不会放大了呢??
    2014年9月10日 10:24

答案

  • 楼主 你好,

    从你提供的代码来看,在我这边运行时OK的,可能是你 ScaleTransform 定义的方式不对。

            ScaleTransform scaleTransform = new ScaleTransform();
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                scaleTransform.ScaleX += 0.1;
                scaleTransform.ScaleY += 0.1;
    
                this.myButton.RenderTransform = scaleTransform;
                this.myButton.RenderTransformOrigin = new Point(0.5, 0.5);
            }

    效果图:

    谢谢!


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 heller灬 2014年9月13日 3:45
    2014年9月11日 2:35
    版主