public void ArrangeOverride3 () { bool loaded = false; ConcreteFrameworkElement c = new ConcreteFrameworkElement (); c.Loaded += delegate { loaded = true; }; TestPanel.Children.Add (c); c.Arrange (new Rect (0, 0, 100, 100)); Assert.IsFalse (c.Arranged, "#1"); c.InvalidateArrange (); c.Arrange (new Rect (0, 0, 100, 100)); Assert.IsFalse (c.Arranged, "#2"); EnqueueConditional (() => loaded, "#3"); Enqueue (() => { Assert.IsTrue (c.Arranged, "#4"); }); EnqueueTestComplete (); }
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 ArrangeOverride2 () { ConcreteFrameworkElement c = new ConcreteFrameworkElement (); c.Arrange (new Rect (0, 0, 100, 100)); Assert.IsFalse (c.Arranged, "#1"); c.InvalidateArrange (); c.Arrange (new Rect (0, 0, 100, 100)); Assert.IsFalse (c.Arranged, "#2"); }
public void InvalidateArrange () { 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.InvalidateArrange ()); EnqueueConditional (() => c.Arranged, "#4"); EnqueueTestComplete (); }