Access View from current/corresponding ViewModel
You have multiple options

a. Use an event Aggregator where publish the message from the viewmodel and subscribe from view. see prism documentation for event aggregators:here is sample code 


 //view will subscribe from this message 
_aggregator.GetEvent&lt;CloseEvent&gt;().Subscribe(CloseAction);

 private void CloseAction(string s) { //do your logic }
 //view model will pubilsh this request 
 _aggregator.GetEvent&lt;CloseEvent&gt;().Publish(output);



b. create an interface named as IView and implement it in your view , pass the instance of IView to data context of the view


public partial class Shell : Window ,IView
{
    public Shell()
    {
        InitializeComponent();
        this.DataContext.View = this;
    }

    public void CloseShell()
    {

    }
}

public interface IView
{
    void CloseShell();
}



by using this you have only a reference of interface will be there in viewmodel . but not the whole view itself