Esempio n. 1
0
        private void SaveUserCommand(object o)
        {
            // 异步请求,防止界面假死
            //await Task.Run(() =>
            //{
            Application.Current.Dispatcher.Invoke(new Action(() =>
            {
                ModifyUserInfoModel modifyUserInfoModel = new ModifyUserInfoModel()
                {
                    user_name = UserName
                };

                var reqResult = WebProxy(modifyUserInfoModel, ApiType.ModifyUserInfo, GlobalUser.USER.AccessToken);

                if (reqResult?.retCode == 0)
                {
                    UserNameStatus   = Visibility.Visible;
                    EditModeStatus   = Visibility.Hidden;
                    SaveButtonStatus = Visibility.Hidden;
                }
                else
                {
                    UserNameStatus   = Visibility.Hidden;
                    EditModeStatus   = Visibility.Visible;
                    SaveButtonStatus = Visibility.Visible;
                }
            }));
            //let's set up a little MVVM, cos that's what the cool kids are doing:
            var view = new SampleProgressDialog();

            //show the dialog
            DialogHost.Show(view, o, ExtendedOpenedEventHandler, ExtendedClosingEventHandler);
        }
Esempio n. 2
0
        private void UserInfoDialogClosingEventHandler(object sender, DialogClosingEventArgs eventArgs)
        {
            var userInfoDialog = eventArgs.Session.Content as UserInfoDialog;
            var dataContent    = userInfoDialog.DataContext as UserInfoDialogVM;

            var newName = userInfoDialog.txtUsername.Text;
            var oldName = dataContent.UserName;

            if ((bool)eventArgs.Parameter)
            {
                if (string.IsNullOrWhiteSpace(newName))
                {
                    userInfoDialog.rtbErrBox.Visibility = Visibility.Visible;
                    userInfoDialog.errMsg.Content       = "请输入您的用户名";
                    eventArgs.Cancel();
                }
                else
                {
                    userInfoDialog.rtbErrBox.Visibility = Visibility.Collapsed;

                    Application.Current.Dispatcher.Invoke(new Action(() =>
                    {
                        ModifyUserInfoModel modifyUserInfoModel = new ModifyUserInfoModel()
                        {
                            user_name = newName
                        };

                        var reqResult = WebProxy(modifyUserInfoModel, ApiType.ModifyUserInfo, GlobalUser.USER.Token);

                        if (reqResult?.retCode == 0)
                        {
                            GlobalUser.USER.UserName = newName;
                            //userInfoDialog.txtUsername.Text = newName;
                            RememberUser(GlobalUser.USER.UserName, GlobalUser.USER.Moblie, GlobalUser.USER.AccessToken);
                            userInfoDialog.errMsg.Content = "保存成功";
                        }
                        else
                        {
                            //MessageDialogVM messageDialogVM = new MessageDialogVM()
                            //{
                            //    MessageContent = "保存失败!"
                            //};
                            //eventArgs.Session.UpdateContent(new MessageDialog());

                            userInfoDialog.rtbErrBox.Visibility = Visibility.Visible;
                            userInfoDialog.errMsg.Content       = "保存失败";
                            eventArgs.Cancel();
                        }
                    }));
                }
            }
            else
            {
                userInfoDialog.txtUsername.Text = oldName;
            }
        }
Esempio n. 3
0
        private async void ExecuteRunExtendedDialog(object o)
        {
            if (string.IsNullOrEmpty(TxtUserName))
            {
                ErrMsgOut = "无效的姓名!";
            }
            else
            {
                ModifyUserInfoModel modifyUserInfoModel = new ModifyUserInfoModel()
                {
                    user_name = TxtUserName
                };

                var reqResult = WebProxy(modifyUserInfoModel, ApiType.ModifyUserInfo, GlobalUser.USER.Token);

                if (reqResult?.retCode == 0)
                {
                    GlobalUser.USER.UserName = TxtUserName;
                    //userInfoDialog.txtUsername.Text = newName;
                    RememberUser();
                    ErrMsgOut = "更新成功";
                    //_uc.CurrentCloseBtn.CommandParameter = true;

                    //Thread.Sleep(2000);
                    //_uc.CurrentCloseBtn.Click

                    await Task.Factory.StartNew(() => Thread.Sleep(333))
                    .ContinueWith(t =>
                    {
                        _uc.CurrentCloseBtn.CommandParameter = true;
                        ButtonAutomationPeer peer            =
                            new ButtonAutomationPeer(_uc.CurrentCloseBtn);

                        IInvokeProvider invokeProv =
                            peer.GetPattern(PatternInterface.Invoke)
                            as IInvokeProvider;
                        invokeProv.Invoke();
                    }, TaskScheduler.FromCurrentSynchronizationContext());
                }
                else
                {
                    ErrMsgOut = reqResult.retMsg; //"更新失败";
                }
            }
        }