本文整理汇总了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;
}
示例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);
}
示例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));
}
示例4: ArrangeInitialElement
private void ArrangeInitialElement(ContentPresenter element, double panelCenterX, double panelCenterY)
{
element.Arrange(new Rect(panelCenterX, panelCenterY, element.DesiredSize.Width, element.DesiredSize.Height));
}
示例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));
}