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


C# ContentPresenter.Measure方法代码示例

本文整理汇总了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;
        }
开发者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: 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");
			});
		}
开发者ID:shana,项目名称:moon,代码行数:21,代码来源:ContentPresenterTest.cs

示例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")
					)
				);
			});
		}
开发者ID:shana,项目名称:moon,代码行数:21,代码来源:ContentPresenterTest.cs

示例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)
				);
			});
		}
开发者ID:shana,项目名称:moon,代码行数:17,代码来源:ContentPresenterTest.cs

示例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");
		}
开发者ID:snorp,项目名称:moon,代码行数:22,代码来源:ContentPresenterTest.cs

示例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));
 }
开发者ID:peterson1,项目名称:ErrH,代码行数:11,代码来源:ScaledVisualPrinter.cs


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