I think it's related to the value assigned after the Component is created. The behavior kick in before the initial -width is assigned. This is because the width is not computed before teh widget is rendered and width is known.
There's a few thing to try: 1- You may try to set Behavior enabled: false upon creation, then on your Item Component.onCompleted: myBehavior.enabled: true I'm not sure it will solve your problems but may worth the try, will not change the thing from happenning but could make it super fast you don't see it. 2- Init and then create the bindng onCompleted (it will be nasty if this component is used into other context where x can be set outside). Item { x: -10000 Component.onCompleted: x = Qt.binding(function(){ return -menu.width; }); } 3- You can also try to use Loader.setSource(url source, object properties) call instead to initialize the Component with wanted value: Loader { id: loader_ property string srcFilename: "MyPathToFile.qml" onSrcFilenameChanged: updateSourceAndBinding() Component.onCompleted: updateSourceAndBinding() function updateSourceAndBinding() { loader_.setSource(srcFilename, {'x': -10000 }); } onLoaded: { item.x = Qt.binding(function(){ return -item.width; }); } } On Wed, Jun 29, 2016 at 1:04 PM, Dmitry Volosnykh < dmitry.volosn...@gmail.com> wrote: > Hi, Jason, > you'd better provide complete example of your issue. Anyway, Loader is an > Item itself. Have you positioned it accordingly? > > On Wed, Jun 29, 2016 at 6:44 PM Jason H <jh...@gmx.com> wrote: > >> I had a working app with a menu that slides in. >> I converted it to use a Loader to load the area that contains the menu >> and the start page. Now the menu shows up when the app first starts. >> >> Despite my Menu.qml being: >> Item { >> id: menu >> x: -width //I should be off-screen! >> visible: false // you're not visible!!! >> Behavior on x { >> NumberAnimation { >> duration: 250 >> } >> } >> ... >> } >> >> qml: loaderState 1 >> qml: menu.width 480 >> qml: menu.x -480 >> qml: root.onCompeleted >> >> It shows and slides to the left. If I comment out the behavior, it works >> fine. I'm not sure why it's starting at X position 0, when it didn't >> before. It doesn't look like it is being assigned to zero anywhere in >> initialization. >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest