private void WindowUnloaded(object sender, RoutedEventArgs e) { Program.ChatWindows.RemoveAll(r => r.Id == Id); var cl = Program.MainWindow.frame1.Content as ContactList; Room.OnMessageRecieved -= RoomOnOnMessageRecieved; Room.OnUserListChange -= RoomOnOnUserListChange; Room.LeaveRoom(); if (cl != null) { cl.RefreshList(); } }