本文整理汇总了C#中System.Windows.Controls.Canvas.InvalidateMeasure方法的典型用法代码示例。如果您正苦于以下问题:C# Canvas.InvalidateMeasure方法的具体用法?C# Canvas.InvalidateMeasure怎么用?C# Canvas.InvalidateMeasure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.Canvas
的用法示例。
在下文中一共展示了Canvas.InvalidateMeasure方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CanvasCallsLayoutTest
public void CanvasCallsLayoutTest ()
{
var parent = new Canvas ();
LayoutPoker c = new LayoutPoker ();
parent.Children.Add (c);
c.Width = 50;
c.Height = 50;
int measure_called = 0;
int arrange_called = 0;
c.Measured += (Size real) => {
c.MeasureResult = real;
measure_called++;
};
c.Arranged += (Size real) => {
c.ArrangeResult = real;
arrange_called++;
};
parent.Measure (new Size (100, 100));
Assert.AreEqual (0, arrange_called, "arrange called 0");
Assert.AreEqual (1, measure_called, "measure called 0");
Assert.AreEqual (new Size (0,0), c.DesiredSize);
Assert.AreEqual (new Size (0,0), parent.DesiredSize);
parent.Arrange (new Rect (0, 0, 100, 100));
Assert.AreEqual (1, arrange_called, "arrange called 1");
Assert.AreEqual (1, measure_called, "measure called 1");
c.InvalidateMeasure ();
c.InvalidateArrange ();
parent.InvalidateMeasure ();
parent.InvalidateArrange ();
parent.Arrange (new Rect (0, 0, 100, 100));
Assert.AreEqual (2, arrange_called, "arrange called 2");
Assert.AreEqual (2, measure_called, "measure called 2");
}
示例2: Measure_StretchNone_Test4
public void Measure_StretchNone_Test4 ()
{
Canvas c = new Canvas ();
Path p = new Path ();
var r = new RectangleGeometry ();
r.Rect = new Rect (10,11,25,47);
p.Data = r;
c.Children.Add (p);
p.Stretch = Stretch.None;
p.Width = 30;
p.Height = 11;
c.InvalidateMeasure ();
c.Measure (new Size (300, 300));
Assert.AreEqual (new Size (30,11), new Size (p.ActualWidth, p.ActualHeight), "p actual 3");
Assert.AreEqual (new Size (0,0), p.DesiredSize, "p desired");
}