문제

I have an application that uses MEF and Caliburn.Micro. The main view has canvas and a button. The button when clicked, should create a new widget and display it in the canvas. The widget in this case is a UserControl that has a view and viewmodel. The user can add 0-N of these widgets to the canvas.

I have the widget in the MEF catalog but I can't seem to find an example of how to wire it up in Caliburn.Micro.

Any ideas what I'd write in the main view model when that button is pressed?

도움이 되었습니까?

해결책

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top