我已经向区域添加了一个视图。现在我想从视图的事件中删除该区域的视图
I've added a view to a region. Now I want to remove the view from the region from an event of the view
我从 Shell.xaml 的代码隐藏文件中添加了一个区域 :-
private IRegionManager _regionManager;
private void mnuReg_Click(object sender, RoutedEventArgs e)
{
_regionManager = new RegionManager();
_regionManager.RegisterViewWithRegion
("MainRegion", typeof(RegisterModule.Views.RegisterView));
}///
现在我想从 "RegisterView.
的点击事件中删除视图 "RegisterView"
您仅将 RegisterViewWithRegion 用于视图发现场景,您希望在其中自动注入视图。您不使用它来响应按钮点击。相反,您应该使用 Region.Add 或 RequestNavigate.
IRegionManager _regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
private void mnuReg_Click(object sender, RoutedEventArgs e)
{
IRegion _mainRegion = _regionManager.Regions["MainRegion"];
RegisterView _viewRegister = new RegisterView();
_mainRegion.Add(_viewRegister);
}
private void mnuCloseAll_Click(object sender, RoutedEventArgs e)
{
foreach (object view in _regionManager.Regions["MainRegion"].Views)
{
_regionManager.Regions["MainRegion"].Remove(view);
}
}
我从 Shell.xaml 的代码隐藏文件中添加了一个区域 :-
private IRegionManager _regionManager;
private void mnuReg_Click(object sender, RoutedEventArgs e)
{
_regionManager = new RegionManager();
_regionManager.RegisterViewWithRegion
("MainRegion", typeof(RegisterModule.Views.RegisterView));
}///
现在我想从 "RegisterView.
的点击事件中删除视图 "RegisterView"您仅将 RegisterViewWithRegion 用于视图发现场景,您希望在其中自动注入视图。您不使用它来响应按钮点击。相反,您应该使用 Region.Add 或 RequestNavigate.
IRegionManager _regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
private void mnuReg_Click(object sender, RoutedEventArgs e)
{
IRegion _mainRegion = _regionManager.Regions["MainRegion"];
RegisterView _viewRegister = new RegisterView();
_mainRegion.Add(_viewRegister);
}
private void mnuCloseAll_Click(object sender, RoutedEventArgs e)
{
foreach (object view in _regionManager.Regions["MainRegion"].Views)
{
_regionManager.Regions["MainRegion"].Remove(view);
}
}