public void Initialise(IDockFactory layoutFactory = null) { if (layoutFactory == null) { Factory = new DefaultLayoutFactory(); } else { Factory = layoutFactory; } LoadLayout(); foreach (var extension in _extensions) { if (extension.Value is IActivatableExtension activatable) { activatable.BeforeActivation(); } } _layout.WhenAnyValue(l => l.FocusedView).Subscribe(focused => { if (focused?.Context is IDocumentTabViewModel doc) { SelectedDocument = doc; } else { SelectedDocument = null; } }); foreach (var extension in _extensions) { if (extension.Value is IActivatableExtension activatable) { activatable.Activation(); } } foreach (var command in _commandService.GetKeyGestures()) { foreach (var keyGesture in command.Value) { _keyBindings.Add(new KeyBinding { Command = command.Key.Command, Gesture = KeyGesture.Parse(keyGesture) }); } } IoC.Get <IStatusBar>().ClearText(); }