You should have a collection of view models that your Canvas
binds to. In fact, if you use a Conductor
collection type in Caliburn.Micro (have a look at Conductor<T>.Collection.AllActive
), then it already has an Items
collection.
When the button is clicked, your main view model verb (method) can add a new view model to the Items
collection. Your main view model will therefore need a view model factory injected in order to create these child view models.