public void OpenUserChat(IContact friend) { if (MainChatViewModel == null) MainChatViewModel = new MainChatViewModel(); if (!MainChatViewModel.IsActive) { _windowManager.ShowWindow(MainChatViewModel); MainChatView = MainChatViewModel.GetView() as Window; } else { if (MainChatView != null) { if (MainChatView.WindowState == WindowState.Minimized) MainChatView.WindowState = WindowState.Normal; MainChatView.Activate(); } } var tab = (from f in OpenTabs where f.Key == friend.UserId select f).FirstOrDefault(); // tab does exist ... Key == UserId if (tab.Key != 0) { int tabIndex = OpenTabs.FirstOrDefault(t => t.Value == tab.Key).Value; MainChatViewModel.Items.ElementAt(tabIndex).Activate(); return; } MainChatViewModel.OpenTab(this, friend); OpenTabs.Add(friend.UserId, MainChatViewModel.Items.Count - 1); }
private void Page_Loaded(object sender, RoutedEventArgs e) { viewModel = ((MainChatViewModel)DataContext); try { viewModel.Msgs = Msgs; } catch { } model = new MainChatModel(viewModel.RemoteServer, viewModel.ServerPort, viewModel.NickName, viewModel, Model_NetworkFailed); }
public MainPage() { InitializeComponent(); Title = "#general"; BindingContext = Vm = new MainChatViewModel(); Vm.Messages.CollectionChanged += (sender, e) => { var target = Vm.Messages[Vm.Messages.Count - 1]; MessagesListView.ScrollTo(target, ScrollToPosition.End, true); }; }
private void Button_Click_1(object sender, RoutedEventArgs e) { MainChat chat = new MainChat(); MainChatViewModel viewModel = new MainChatViewModel { RemoteServer = ViewModel.RemoteServer, NickName = ViewModel.NickName, ServerPort = ViewModel.ServerPort, Password = ViewModel.Password }; chat.DataContext = viewModel; (Application.Current.MainWindow.Content as Frame).Navigate(chat); }
public MainChatPageView() { InitializeComponent(); DataContext = new MainChatViewModel(); }