Hi Rich, I don't think that I have a great answer for you on this but I have a few questions/thoughts.
It sounds as though you want the PageItem's position to initially be set from the VO's x/y, then you want the VO's x/y to reflect the PageItem's x/y as it is dragged. Why don't you *not* have the x/y in the VO bindable? Instead, just have them bound to the PageItem's x/y. There are at least two possible objections to this: a) "How will the PageItem's x/y initially get set to the VO's x/y?" Well, you'd have to figure out some other mechanism. b) "But part of the definition of a VO is that all properties are bindable!" Well, rules are made to be broken. :) But I'm not sure that this is a good idea. Bi-directional binding doesn't sound bad to me. You say it's inefficient, but is it impacting performance? If not, I wouldn't worry about it. Douglas On undefined, Rich Rodecker <[EMAIL PROTECTED]> wrote: > Hello, > I'm building a page layout-type app using cairngorm. I have an > arraycollection of value objects in the model that stores the data for each > item on the page. Every item on the page is a custom component (a PageItem) > that is bound to one of the VOs as a dataprovider. The VO contains the > entire state of the PageItem, x,y,rotation, content, etc). > > each PageItem is draggable. When I drag the PageItem to a new position, i > need to have the VO updated as well. Currently I am just updating the vo > from within the component when the mouse is released, but since it's bound, > that triggers the property change event on the VO, which doesn't really do > anything but is pretty inefficient. > > I feel like there's gotta be some way to just proxy the PageItem's values > like x and y to the VO directly and I'm just missing it. > > In the past I have used Momentos to save and restore state, but I'm trying > to achieve a greater separation of the view and the model, so that when I go > to save the data, I just grab the collection of VO's from the model and save > that, rather than query the view for it's state. > > Anyone have any pointers? > > > > >