public MarkersPanelView( IEventAggregator eventAggregator, ILoggerFacade logger, [Import(typeof(IUrakawaSession), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] IUrakawaSession urakawaSession, [Import(typeof(MarkersPaneViewModel), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] MarkersPaneViewModel viewModel) { m_UrakawaSession = urakawaSession; m_EventAggregator = eventAggregator; m_Logger = logger; ViewModel = viewModel; DataContext = ViewModel; InitializeComponent(); ViewModel.SetView(this); }
public MarkersNavigationPlugin( 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(MarkersPanelView), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] MarkersPanelView pane, [Import(typeof(MarkersPaneViewModel), RequiredCreationPolicy = CreationPolicy.Shared, AllowDefault = false)] MarkersPaneViewModel viewModel ) { m_Logger = logger; m_RegionManager = regionManager; m_UrakawaSession = session; m_ShellView = shellView; m_MarkersPane = pane; m_MarkersViewModel = 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_MarkersPane, m_viewName = @"ViewOf_" + RegionNames.NavigationPaneTabs + @"_Markers", m_viewPreferredPosition = PreferredPosition.Last }); //m_RegionManager.RegisterViewWithRegion(RegionNames.NavigationPaneTabs, typeof(IMarkersPaneView)); //IRegion targetRegion = m_RegionManager.Regions[RegionNames.NavigationPaneTabs]; //targetRegion.Add(m_MarkersPane); //targetRegion.Activate(m_MarkersPane); //m_Logger.Log(@"Navigation pane plugin initializing...", Category.Debug, Priority.Medium); }