From my understanding, I would recommend implementing an interface on each of your Views that provides the necessary information to determine which view it is, then use the ActiveViews
property of the IRegion
to access the active views.
Something like:
//Interface for identifying the Views
public interface IApplicationView
{
string ViewName { get; }
}
//Example of a View with logic to determine which instance of the View it is
public class ApplicationView : UserControl, IApplicationView
{
public string ViewName
{
get { return this.isViewA ? return "ViewA" : return "ViewB"; }
}
}
//Example of determining which view
public class OtherComponent
{
public string GetActiveViewName(IRegion region)
{
IApplicationView activeView = region.ActiveViews.FirstOrDefault() as IApplicationView;
return activeView == null ? string.Empty : activeView.ViewName;
}
}