Hi,

 I'm using Binsor to compose views for a windows forms type
application. We have an IView interface and a bunch of standard
implementations like FlowLayoutView, PanelView etc and then custom
views like CustomerView. So, for example, we might have a boo file
like:


complaint_view = Component("CustomerDetailsView", IView,
ComplaintView, LifestyleType.Transient)

customer_issues_view = Component("CustomerIssuesView", IView,
CustomerIssuesView, LifestyleType.Transient
        ... some properties not relevant here
)

Component("CustomerAndIssuesView", IView, FlowLayoutPanelView,
LifestyleType.Transient,
        ChildViews: (
                GroupBoxView(
                        Text: "Customer Details",
                        ChildViews: (
                                ViewRef(ViewName: "CustomerDetailsView"),
                        )
                ) as IView,
                TabControlView(
                        ChildViews: (
                                GroupBoxView(
                                        Text: "Customer Issues",
                                        ChildViews: (
                                                ViewRef(ViewName: 
"AnotherView"),
                                        )
                                ) as IView,
                        )
                )
        )
)


So, as you can see, I'm trying to define a composite view called
"CustomerAndIssuesView" of type FlowLayoutPanelView. This type has a
'ChildViews' property which is defined as a property of type IView[].
In the config, I'd like to build up the child views as you see above,
so it flows naturally.

This kinda works, however there's a snag: Every time I resolve
"CustomerAndIssuesView", I get the same child view instances. E.g.
from example above, I get the same GroupBoxView and TabControlView
instances. This causes me grief as I need these to be newly
instantiated each time the parent component is resolved.

 So, my problem is that these are just read and instantiated once and
then reused when the dependencies of the parent component are
requested. I've had a look through the Binsor source, and am not
really sure where I should start tbh.

 One idea I've had is to make all the view types implement ICloneable
and then do some sort of custom castle ComponentDescriptor that can
spot this and just call Clone() when returning dependencies for
component

 However, as I'm a complete noob with Binsor, I was hoping to get this
group's opinion before starting down this path. Is there an easier
way?

Thanks,
Andrew


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to