public void LayoutUpdated () { bool layoutUpdated = false; bool loaded = false; ConcreteFrameworkElement element = new ConcreteFrameworkElement (); EventHandler handler = (o, e) => { layoutUpdated = true; }; element.LayoutUpdated += handler; element.Loaded += (o, e) => { loaded = true; }; Enqueue (() => TestPanel.Children.Add (element)); EnqueueConditional (() => loaded ); EnqueueConditional (() => layoutUpdated); Enqueue (() => { layoutUpdated = false; element.InvalidateArrange (); }); EnqueueConditional (() => layoutUpdated); Enqueue (() => { layoutUpdated = false; element.InvalidateMeasure (); }); EnqueueConditional (() => layoutUpdated); Enqueue (() => { element.LayoutUpdated -= handler; }); EnqueueTestComplete (); }
public void InvalidateMeasureRaisesLayoutUpdated() { int count = 0; var c = new ConcreteFrameworkElement (); c.LayoutUpdated += (o, e) => count++; CreateAsyncTest (c, () => count = 0, () => c.InvalidateMeasure(), () => Assert.AreEqual(1, count, "#1"), () => c.InvalidateMeasure(), () => Assert.AreEqual(2, count, "#2") ); }
public void ParentlessMeasureTest () { var fe = new ConcreteFrameworkElement (); fe.Measure (new Size (100,100)); Assert.AreEqual (new Size (0, 0), fe.DesiredSize, "deisred"); fe.Width = 10; fe.Height = 10; Assert.AreEqual (new Size (10,10), new Size (fe.ActualWidth, fe.ActualHeight), "fe actual"); fe.InvalidateMeasure (); fe.Measure (new Size (100,100)); Assert.AreEqual (new Size (0, 0), fe.DesiredSize, "deisred"); }
public void InvalidateMeasure () { bool loaded = false; ConcreteFrameworkElement c = new ConcreteFrameworkElement (); c.Loaded += delegate { loaded = true; }; TestPanel.Children.Add (c); EnqueueConditional (() => loaded, "#1"); EnqueueConditional (() => c.Measured, "#2"); EnqueueConditional (() => c.Arranged, "#3"); Enqueue (() => loaded = c.Arranged = c.Measured = c.Templated = false); Enqueue (() => c.InvalidateMeasure ()); EnqueueConditional (() => c.Measured, "#4"); EnqueueConditional (() => c.Arranged, "#5"); EnqueueTestComplete (); }
public void MeasureOverride2 () { ConcreteFrameworkElement c = new ConcreteFrameworkElement (); c.Measure (new Size (0, 100)); Assert.IsFalse (c.Measured, "#1"); c.InvalidateMeasure (); c.Measure (new Size (0, 100)); Assert.IsFalse (c.Measured, "#2"); }