WPF MatrixTransform无差别缩放面板

        /// <summary>
        /// 区域--缩放
        /// </summary>
        /// <param name="Multiple">缩放倍数</param>
        private void SetMatrix(double Multiple)
        {
            Grid printGrid = GetPrintGrid();//获取显示的面板
            //背景图打印不显示
            Image backgroundImage = null;
            foreach (UIElement item in printGrid.Children)
            {
                if (item is Image)
                {
                    backgroundImage = item as Image;
                }
            }

            Dispatcher.Invoke(new Action(delegate
            {
                if (backgroundImage != null)
                {
                    if (Multiple > 1)
                    {
                        backgroundImage.Visibility = Visibility.Collapsed;
                    }
                    else
                    {
                        backgroundImage.Visibility = Visibility.Visible;
                    }
                }
               
                MatrixTransform matrixTransform = new MatrixTransform();
                Matrix matrix = new Matrix(Multiple, 0, 0, Multiple, 0, 0);
                matrixTransform.Matrix = matrix;
                printGrid.RenderTransform = matrixTransform;
            }));
        }    

猜你喜欢

转载自www.cnblogs.com/xunyiHe/p/10538875.html
WPF