public LayoutEventArgs(GuiWidget parentWidget, GuiWidget childWidget, PropertyCausingLayout changedProperty) { if (parentWidget == null) { throw new InvalidOperationException("The LayoutEngine comes from the parent so you have to pass it."); } this.parentWidget = parentWidget; this.childWidget = childWidget; this.changedProperty = changedProperty; }