private void ConnectToServer(object parameter) { InputStringDialog dialog = new InputStringDialog(); _ = dialog.ShowDialog(); if (dialog.Result == null) { return; } IMetadataReader metadataProvider = _shell.GetService <IMetadataReader>(); string serverName = (string)dialog.Result; Server server = new Server() { Address = serverName }; if (!metadataProvider.CheckServerConnection(server)) { _ = MessageBox.Show( "Unable to connect server!", ONE_C_SHARP, MessageBoxButton.OK, MessageBoxImage.Error); return; } var treeNode = new TreeNodeViewModel() { NodeText = server.Address, NodeIcon = new BitmapImage(new Uri(LOCAL_SERVER)), NodePayload = server }; treeNode.ContextMenuItems.Add(new MenuItemViewModel() { MenuItemHeader = "Connect to database...", MenuItemIcon = new BitmapImage(new Uri(CONNECT_TO_DATABASE)), MenuItemCommand = new AsyncCommand(ConnectToInfoBase, CanExecuteConnectToInfoBase), MenuItemPayload = treeNode }); _shell.AddTreeNode(treeNode); }