public void NavigateToView()
{
var viewType = NavigationViewType;
if (viewType == null)
{
viewType = ViewContainer.GetView(SelectedItem.GetType());
}
if (viewType != null)
{
var disposable = NavigationView as IDisposable;
if (disposable != null)
{
disposable.Dispose();
}
NavigationView = Activator.CreateInstance(viewType);
var dc = NavigationView as IDataContext<object>;
if (dc != null)
{
dc.DataContext = SelectedItem;
}
else
{
NavigationView = SelectedItem;
}
var initializable = NavigationView as IInitializable;
if (initializable != null)
{
initializable.Initialize();
}
Caption = SelectedItem.ToString();
var dvc = new DialogViewController(Caption, NavigationView, Controller.Theme, true);
Controller.NavigationController.PushViewController(dvc, true);
}
}