/// <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(); }
/// <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); }