public EndPointContextLifetimeManager(IViewNavigator viewNavigator) { _ViewChangedRouter = WeakEventRouter.CreateInstance(this, viewNavigator, () => default(NavigationEventArgs), (o, d) => o.Navigating += d.Handler, (o, d) => o.Navigating -= d.Handler, (s, p, a) => OnNavigation(a)); }
public MenuBarManager(IViewNavigator viewNavigator) { _ViewNavigator = viewNavigator; _NavigatingRouter = WeakEventRouter.CreateInstance(this, viewNavigator, () => default(NavigationEventArgs), (o, d) => o.Navigating += d.Handler, (o, d) => o.Navigating -= d.Handler, Navigating); _CleanupsByOwner = new Dictionary<EndPoint, Stack<Action>>(); _ViewNavigator.EnqueueUIWork(() => MenuBar = new Menu()); }
public void Initialize() { _RecordSearchRouter = WeakEventRouter.CreateInstance(this, Search, () => default(PropertyChangedEventArgs), (p, d) => p.PropertyChanged += d.Handler, (p, d) => p.PropertyChanged -= d.Handler, (s, p, a) => { if (a.PropertyName == BindingHelper.Name((RecordSearch rs) => rs.IsAdvancedMode)) { foreach (var group in _FilterGroups) { group.ShowOrHeading = p.IsAdvancedMode && group.Group.Ordinal > 1 ? Visibility.Visible : Visibility.Collapsed; } } }); _FilterGroups = new ObservableCollection<RecordFilterGroupViewModel>(); FilterGroups = (ListCollectionView)CollectionViewSource.GetDefaultView(_FilterGroups); foreach (var group in Search.FilterGroups .Cast<RecordFilterGroup>()) { AddGroup(new RecordFilterGroupViewModel(group, Search.BaseType)); } AddGroupCommand = new RelayCommand(AddGroup); if (!Search.FilterGroups.Any()) { AddGroup(); } }