private void image_Icon_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            DirectMessageItem target = ((sender as Image).TemplatedParent as ContentPresenter).Content as DirectMessageItem;

            if (target == null)
            {
                return;
            }

            long           id = (long)target.UserData.Id;
            UserInfoWindow w  = new UserInfoWindow(this.account, id);

            w.Owner = this.main;
            w.Show();
        }
        /// <summary>
        /// Show the user info
        /// </summary>
        /// <param name="loginServiceToken">Login service token</param>
        private void ShowUserInfo(string loginServiceToken)
        {
            GetUserInfoServiceResponse response = null;

            // Checking token
            if (string.IsNullOrWhiteSpace(loginServiceToken))
            {
                ErrorMsg = UNKNOWN_ERROR;
                log.Fatal("Unknown error. Token was not present in service response.");
                return;
            }

            // Calling GetUserInfo Service
            log.DebugFormat("Calling the getUserInfo service with token '{0}'", loginServiceToken);

            try
            {
                response = HTTPRequest.MakeRequest <GetUserInfoServiceResponse>(getUserDataURL, token: loginServiceToken);
            }
            catch (Exception ex)
            {
                ErrorMsg = CONNECTION_ERROR;
                log.Fatal("Exception calling getUserInfo service", ex);
                return;
            }

            log.DebugFormat("GetUserInfo service response. Status: {0}", response.Status);

            if (ProcessServiceResponse(response))
            {
                // Checking user data
                if (response.ServiceData == null || response.ServiceData.UserData == null)
                {
                    ErrorMsg = UNKNOWN_ERROR;
                    log.Fatal("Unknown error. User data was not present in service response.");
                    return;
                }

                UserInfoWindow win = new UserInfoWindow(response.ServiceData.UserData);
                win.ShowDialog();
            }
        }
        private void listBox_UserList_Item_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            ListBoxItem selectedItem = sender as ListBoxItem;

            if (selectedItem == null)
            {
                return;
            }

            UserListItem target = selectedItem.Content as UserListItem;

            if (target == null)
            {
                return;
            }

            if (this.mode == UserListMode.Account)
            {
                if (e.ClickCount != 2)
                {
                    return;
                }

                AccountManager am = AccountManager.GetInstance();
                am.SetCurrentIndexFromScreenName(target.ScreenName);

                this.main.ChangeAccount();
                this.parent.Close();
                e.Handled = true;
                return;
            }

            long           id = (long)target.Id;
            UserInfoWindow w  = new UserInfoWindow(this.account, id);

            w.Owner = this.main;
            w.Show();

            e.Handled = true;
        }
        public void Execute(object parameter)
        {
            UserInfoWindow userInfoWindow = new UserInfoWindow();

            userInfoWindow.ShowDialog();
        }