示例#1
0
        /// <summary>
        /// 首页的视图模型
        /// </summary>
        public IndexViewModel()
        {
            chatClient = new ChatServiceClient(new InstanceContext(this));
            chatClient.RegisterAndGetFriendListCompleted += WriteFriendList;
            chatClient.ChangeTargetUserCompleted += WriteNewMessages;
            chatClient.GetMessagesCompleted += WriteOldMessages;
            chatClient.RegisterAndGetFriendListAsync(Username, true);

            Users = new ObservableCollection<UserInfoModel>();
            Messages = new ObservableCollection<MessageResult>();
            LogoutCommand = new UniversalCommand(new Action<object>(Logout));
            OpenTalkingWindowCommand = new UniversalCommand(new Action<object>(OpenTalkingWindow));
            ChooseWhatDoingCommand = new UniversalCommand(new Action<object>(ChooseWhatDoing));
            SendMessageCommand = new UniversalCommand(new Action<object>(SendNewMessage));
            ShowChooseIconWindowCommand = new UniversalCommand(new Action<object>(ShowChooseIconWindow));
            ShowUploadPicWindowCommand = new UniversalCommand(new Action<object>(ShowUploadPicWindow));
            KeepHeartbeat();
        }
示例#2
0
        /// <summary>
        /// 初始化
        /// </summary>
        private void Initialize()
        {
            CustomerServiceList = new ObservableCollection<UserInfo>();
            CustomerServiceList.CollectionChanged += (d, e) => { OnPropertyChanged(this, "CustomerServiceList"); };
            SuperiorList = new ObservableCollection<UserInfo>();
            SuperiorList.CollectionChanged += (d, e) => { OnPropertyChanged(this, "SuperiorList"); };
            LowerList = new ObservableCollection<UserInfo>();
            LowerList.CollectionChanged += (d, e) => { OnPropertyChanged(this, "LowerList"); };

            ChatingWithList = new ObservableCollection<UserInfo>();
            CurrentMessages = new ObservableCollection<MessageResult>();

            currentUserOnlineState = UserOnlineStatus.在线;
            chatWindowIsOpen = false;
            friendListWindowIsOpen = false;
            newMessageCount = 0;
            customerServiceListIsOpen = false;
            superiorListIsOpen = false;
            lowerListIsOpen = false;
            waitSendContent = "";
            chatingWith = "";

            SendMessageCommand = new BaseCommand(SendMessage);
            AddExpressionCommand = new BaseCommand(AddExpression);
            CloseCurrentChatCommand = new BaseCommand(CloseCurrentChat);
            AddScreenShotCommand = new BaseCommand(AddScreenShot);

            Command = new BaseCommand(BeginChatToSomeone);
            SwitchChatingWithCommand = new BaseCommand(SwitchChatingWith);

            TimeToReflashCustomerServiceList = false;
            TimeToReflash2CustomerServiceList = false;

            chatClient = new ChatServiceClient(new InstanceContext(this));
            chatClient.RegisterAndGetFriendListCompleted += ChatClientRegisterAndGetFriendListCompleted;
            chatClient.RegisterAndGetFriendListAsync(CurrentUser, false);
        }