本文整理汇总了C#中System.Windows.Controls.ContentPresenter.Measure方法的典型用法代码示例。如果您正苦于以下问题:C# ContentPresenter.Measure方法的具体用法?C# ContentPresenter.Measure怎么用?C# ContentPresenter.Measure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.ContentPresenter
的用法示例。
在下文中一共展示了ContentPresenter.Measure方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: VisualTreeTest4
public void VisualTreeTest4 ()
{
ContentPresenter presenter = new ContentPresenter ();
CreateAsyncTest (presenter, () => {
presenter.Content = new Rectangle ();
Assert.VisualChildren (presenter, "#1"); // No visual children
presenter.Measure (Size.Empty);
Assert.VisualChildren (presenter, "#2",
new VisualNode<Rectangle> ("#a")
);
// Changing the template unsets the visual child until the next Measure pass
presenter.ContentTemplate = new DataTemplate ();
Assert.VisualChildren (presenter, "#3"); // No visual children
presenter.Measure (Size.Empty);
Assert.VisualChildren (presenter, "#4");
Assert.IsNull (presenter.DataContext, "#5");
});
}
示例4: VisualTreeTest2
public void VisualTreeTest2 ()
{
ContentPresenter presenter = new ContentPresenter ();
presenter.Content = "I'm a string";
Assert.VisualChildren (presenter, "#1"); // No visual children
presenter.Measure (Size.Empty);
Assert.VisualChildren (presenter, "#2",
new VisualNode<Grid> ("#a",
new VisualNode<TextBlock> ("#b")
)
);
CreateAsyncTest (presenter, () => {
Assert.VisualChildren (presenter, "#3",
new VisualNode<Grid> ("#c",
new VisualNode<TextBlock> ("#d")
)
);
});
}
示例5: VisualTreeTest
public void VisualTreeTest ()
{
ContentPresenter presenter = new ContentPresenter ();
presenter.Content = new Rectangle ();
Assert.VisualChildren (presenter, "#1"); // No visual children
presenter.Measure (Size.Empty);
Assert.VisualChildren (presenter, "#2",
new VisualNode<Rectangle> ("#a", (VisualNode [])null)
);
CreateAsyncTest (presenter, () => {
Assert.VisualChildren (presenter, "#3",
new VisualNode<Rectangle> ("#b", (VisualNode [ ]) null)
);
});
}
示例6: DefaultTemplate_FindName
public void DefaultTemplate_FindName ()
{
ContentPresenter presenter = new ContentPresenter { Content = "Content" };
presenter.Measure(Size.Empty);
Grid grid = null;
Assert.VisualChildren(presenter, "#1",
new VisualNode<Grid>("#a", g => grid = g,
new VisualNode<TextBlock>("#b")
)
);
var child = (TextBlock) grid.Children[0];
child.Name = "TestName";
Assert.IsNull(child.FindName("TestName"), "#2");
Assert.IsNull(grid.FindName("TestName"), "#3");
Assert.IsNull(presenter.FindName("TestName"), "#4");
grid.Children.Clear();
TestPanel.Children.Add(child);
Assert.IsNull(TestPanel.FindName("TestName"), "#5");
}
示例7: 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));
}