当前位置: 首页>>代码示例>>C#>>正文


C# ContentPresenter.Arrange方法代码示例

本文整理汇总了C#中System.Windows.Controls.ContentPresenter.Arrange方法的典型用法代码示例。如果您正苦于以下问题:C# ContentPresenter.Arrange方法的具体用法?C# ContentPresenter.Arrange怎么用?C# ContentPresenter.Arrange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Controls.ContentPresenter的用法示例。


在下文中一共展示了ContentPresenter.Arrange方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ScaleToFit1Page

        private static PrintCapabilities ScaleToFit1Page(ContentPresenter content,
            PrintDialog dlg, out double scale, double printScaleOffset)
        {
            var prCaps = dlg.PrintQueue.GetPrintCapabilities(dlg.PrintTicket);

            //get scale of the print wrt to screen of WPF visual
            scale = Math.Min(prCaps.PageImageableArea.ExtentWidth
                / content.ActualWidth, prCaps.PageImageableArea.ExtentHeight /
                    content.ActualHeight);

            scale += printScaleOffset;

            //Transform the Visual to scale
            content.LayoutTransform = new ScaleTransform(scale, scale);

            //get the size of the printer page
            Size sz = new Size(prCaps.PageImageableArea.ExtentWidth, prCaps.PageImageableArea.ExtentHeight);

            //update the layout of the visual to the printer page size.
            content.Measure(sz);
            content.Arrange(new Rect(new Point(prCaps.PageImageableArea.OriginWidth, prCaps.PageImageableArea.OriginHeight), sz));

            return prCaps;
        }
开发者ID:peterson1,项目名称:ErrH,代码行数:24,代码来源:ScaledVisualPrinter.cs

示例2: ResetVisualState

        private static void ResetVisualState(ContentPresenter objectToPrint, PrintCapabilities printCaps, bool wasVirtualized)
        {
            objectToPrint.Width = double.NaN;
            objectToPrint.UpdateLayout();
            objectToPrint.LayoutTransform = new ScaleTransform(1, 1);
            Size size = new Size(printCaps.PageImageableArea.ExtentWidth,
                                 printCaps.PageImageableArea.ExtentHeight);
            objectToPrint.Measure(size);
            objectToPrint.Arrange(new Rect(new Point(printCaps.PageImageableArea.OriginWidth,
                                  printCaps.PageImageableArea.OriginHeight), size));

            if (!wasVirtualized) return;
            var dg = objectToPrint.FindChild<DataGrid>();
            dg.EnableRowVirtualization = true;
            dg.EnableColumnVirtualization = true;
            VirtualizingPanel.SetIsVirtualizing(dg, true);
        }
开发者ID:peterson1,项目名称:ErrH,代码行数:17,代码来源:ScaledVisualPrinter.cs

示例3: ArrangeCollapseElement

        private void ArrangeCollapseElement(int idx, ContentPresenter element,
                        double panelCenterX, double panelCenterY,
                        double elementCenterX, double elementCenterY,
                        double destX, double destY)
        {
            element.Arrange(new Rect(destX, destY, element.DesiredSize.Width, element.DesiredSize.Height));

            var transGroup = element.RenderTransform as TransformGroup;
            Transform translateTransform, rotateTransform;
            if (transGroup == null)
            {
                element.RenderTransform = transGroup = new TransformGroup();
                translateTransform = new TranslateTransform();
                rotateTransform = new RotateTransform() { CenterX = elementCenterX, CenterY = elementCenterY };

                transGroup.Children.Add(translateTransform);
                transGroup.Children.Add(rotateTransform);
            }
            else
            {
                translateTransform = transGroup.Children[0] as TranslateTransform;
                rotateTransform = transGroup.Children[1] as RotateTransform;
            }
            element.RenderTransformOrigin = new Point(0.5, 0.5);

            //if (i != 0) continue;

            var aniDuration = AnimationDuration + TimeSpan.FromSeconds(AnimationDurationStep * idx);
            translateTransform.BeginAnimation(TranslateTransform.XProperty, new DoubleAnimation(0, panelCenterX - destX, aniDuration));
            translateTransform.BeginAnimation(TranslateTransform.YProperty, new DoubleAnimation(0, panelCenterY - destY, aniDuration));

            rotateTransform.BeginAnimation(RotateTransform.CenterXProperty, new DoubleAnimation(0, panelCenterX - destX, aniDuration));
            rotateTransform.BeginAnimation(RotateTransform.CenterYProperty, new DoubleAnimation(0, panelCenterY - destY, aniDuration));
            rotateTransform.BeginAnimation(RotateTransform.AngleProperty, new DoubleAnimation(0, -720, aniDuration));

            element.BeginAnimation(OpacityProperty, new DoubleAnimation(1, 0.2, aniDuration));
        }
开发者ID:woniuchn,项目名称:blog_sample_codes,代码行数:37,代码来源:CircleMenuPanel.cs

示例4: ArrangeInitialElement

 private void ArrangeInitialElement(ContentPresenter element, double panelCenterX, double panelCenterY)
 {
     element.Arrange(new Rect(panelCenterX, panelCenterY, element.DesiredSize.Width, element.DesiredSize.Height));
 }
开发者ID:woniuchn,项目名称:blog_sample_codes,代码行数:4,代码来源:CircleMenuPanel.cs

示例5: ResetVisualState

 private static void ResetVisualState(ContentPresenter objectToPrint, PrintCapabilities printCaps)
 {
     objectToPrint.Width = double.NaN;
     objectToPrint.UpdateLayout();
     objectToPrint.LayoutTransform = new ScaleTransform(1, 1);
     Size size = new Size(printCaps.PageImageableArea.ExtentWidth,
                          printCaps.PageImageableArea.ExtentHeight);
     objectToPrint.Measure(size);
     objectToPrint.Arrange(new Rect(new Point(printCaps.PageImageableArea.OriginWidth,
                           printCaps.PageImageableArea.OriginHeight), size));
 }
开发者ID:peterson1,项目名称:ErrH,代码行数:11,代码来源:ScaledVisualPrinter.cs


注:本文中的System.Windows.Controls.ContentPresenter.Arrange方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。