例5中刚说到视图精确控制,这次说明这样的灵活控制是怎样做的,显示或不显示,或切换视图。
主页上显示了主按钮和一个ContentControl
然后在后台代码中,对显示内容进行了精确控制
public partial class MainWindow : Window
{
IContainerExtension _container;
IRegionManager _regionManager;
IRegion _region;
ViewA \_viewA;
ViewB \_viewB;
public MainWindow(IContainerExtension container, IRegionManager regionManager)
{
InitializeComponent();
\_container = container;
\_regionManager = regionManager;
this.Loaded += MainWindow\_Loaded;
}
private void MainWindow\_Loaded(object sender, RoutedEventArgs e)
{
\_viewA = \_container.Resolve<ViewA>();
\_viewB = \_container.Resolve<ViewB>();
\_region = \_regionManager.Regions\["ContentRegion"\];
\_region.Add(\_viewA);
\_region.Add(\_viewB);
}
private void Button\_Click(object sender, RoutedEventArgs e)
{
//activate view a
\_region.Activate(\_viewA);
}
private void Button\_Click\_1(object sender, RoutedEventArgs e)
{
//deactivate view a
\_region.Deactivate(\_viewA);
}
private void Button\_Click\_2(object sender, RoutedEventArgs e)
{
//activate view b
\_region.Activate(\_viewB);
}
private void Button\_Click\_3(object sender, RoutedEventArgs e)
{
//deactivate view b
\_region.Deactivate(\_viewB);
}
}
这里出现的新概念就是Activate 和DeActivate。控制显示和不显示。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章