public DescriptionsNavigationView( IEventAggregator eventAggregator, ILoggerFacade logger, [Import(typeof(IUrakawaSession), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] IUrakawaSession urakawaSession, [Import(typeof(IShellView), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] IShellView shellView, [Import(typeof(DescriptionsNavigationViewModel), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] DescriptionsNavigationViewModel viewModel, [Import(typeof(IDescriptionsView), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] DescriptionsView view ) { m_UrakawaSession = urakawaSession; m_EventAggregator = eventAggregator; m_Logger = logger; m_ShellView = shellView; ViewModel = viewModel; DataContext = ViewModel; m_DescriptionsView = view; InitializeComponent(); ViewModel.SetView(this); }
public DescriptionsNavigationPlugin( ILoggerFacade logger, IRegionManager regionManager, [Import(typeof(IUrakawaSession), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] IUrakawaSession session, [Import(typeof(IShellView), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] IShellView shellView, [Import(typeof(DescriptionsNavigationView), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] DescriptionsNavigationView pane, [Import(typeof(DescriptionsNavigationViewModel), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] DescriptionsNavigationViewModel viewModel ) { m_Logger = logger; m_RegionManager = regionManager; m_UrakawaSession = session; m_ShellView = shellView; m_DescriptionsNavView = pane; m_DescriptionsNavViewModel = viewModel; // Remark: using direct access instead of delayed lookup (via the region registry) // generates an exception, because the region does not exist yet (see "parent" plugin constructor, RegionManager.SetRegionManager(), etc.) m_RegionManager.RegisterNamedViewWithRegion(RegionNames.NavigationPaneTabs, new PreferredPositionNamedView { m_viewInstance = m_DescriptionsNavView, m_viewName = @"ViewOf_" + RegionNames.NavigationPaneTabs + @"_Descriptions", m_viewPreferredPosition = PreferredPosition.Last }); //m_RegionManager.RegisterViewWithRegion(RegionNames.NavigationPaneTabs, typeof(IDescriptionsNavigationView)); //IRegion targetRegion = m_RegionManager.Regions[RegionNames.NavigationPaneTabs]; //targetRegion.Add(m_DescriptionsNavView); //targetRegion.Activate(m_DescriptionsNavView); //m_Logger.Log(@"Navigation pane plugin initializing...", Category.Debug, Priority.Medium); }