Code Monkey home page Code Monkey logo

xamformslayouttests's Introduction

Controlling visibility by removing the children looks like it works without causing everything to re-layout.

Using IsVisible or changing the Text on a Label Invalidates the Children on XF2.0 whereas on XF1.3 it did not

I haven't found a way to change the text of a Label yet in XF2.0 that won't invalidate the measures on the parent.

Changing Text in Version 2.0 now fires

OnTextPropertyChanged event

Which seems to invalidate the measure and cause the Parent of the LayoutHost to layout the children

Changing Visibility in Version 2.0 fires

 OnIsVisibleChanged(Boolean oldValue, Boolean newValue)

These seem to fire a new method

 this.InvalidateMeasure(InvalidationTrigger.Undefined);

That you can't short circuit by using your own Layout..

The included projects have the same code except one version is Forms 1.3 and the other is Forms 2.0.

1.3 looks to short circuit successfully where as 2.0 does not.

MainPage.cs contains

        protected override void LayoutChildren(double x, double y, double width, double height)
      {
          base.LayoutChildren(x, y, width, height);
          Debug.WriteLine("Layout Changed");
      }

So you can watch when LayoutChildren is called on the parent content page.

xamformslayouttests's People

Stargazers

Media Explorer avatar

Watchers

James Cloos avatar Shane Neuville avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.