There are cases where given a running ViewModel we need to retrieve an instance of the currently associated View, the runtime conventions object exposes a convention to achieve that:
class MyViewModel : AbstractViewModel
{
public MyViewModel( IConventionsHandler conventions )
{
var view = conventions.GetViewOfViewModel( this );
}
}
Since the conventions are handled by the underlying Inversion of Control subsystem we can access the conventions using a dependency, as in the above sample.
Notes:
if we take a look at the signature (Func
- implement on your view model the IViewModel interface;
- or replace the AttachViewToViewModel convention that is responsible to reverse link the View to the ViewModel;