public MainWindow(IMModels.LoginUser login) { InitializeComponent(); this.GotFocus += MainWindow_GotFocus; this.Activated += MainWindow_Activated; this.Unloaded += MainWindow_Unloaded; this.PreviewMouseDown += MainWindow_MouseDown; _mainMV = new MainViewModel(this, login); this.DataContext = ViewModel = _mainMV; _mainMV.MainTitle = login.User.PhoneNumber; _mainMV.OnExpandGroupList += _mainMV_OnExpandGroupList; _mainMV.OnForceOffline += _mainMV_OnForceOffline; _mainMV.OnChangeTrayWindowSize += _mainMV_OnChangeTrayWindowSize; _mainMV.OnCloseTrayWindow += _mainMV_OnCloseTrayWindow; _mainMV.OnCloseAppendWindow += _mainMV_OnCloseAppendWindow; //初始化基本数据 _mainMV.ChatListVM = new ChatListView().ViewModel as ChatListViewModel; _mainMV.ChatListVM.OnFlashIcon += ChatListVM_OnFlashIcon; _mainMV.ChatListVM.OnCloseTrayWindow += ChatListVM_OnCloseTrayWindow; _mainMV.FriendListVM = new FriendListView().ViewModel as FriendListViewModel; _mainMV.GroupListVM = new GroupListView().ViewModel as GroupListViewModel; _mainMV.AttentionListVM = new AttentionListView().ViewModel as AttentionListViewModel; _mainMV.SearchUserListVM = new UserSearchListView().ViewModel as UserSearchListViewModel; _mainMV.SettingListVM = new SettingListView().ViewModel as SettingListViewModel; _mainMV.FriendListVM.SearchChatListViewModel = _mainMV.ChatListVM; _mainMV.BlacklistVM = new BlacklistViewModel(new BlacklistModel()); _mainMV.ChatListVM.StrangerMessage.View = new StrangerMessageView(); _mainMV.ChatListVM.OnSelectedItemEvent += ChatListVM_OnSelectedItemEvent; FriendListViewModel.NewFriend.View = new FriendNewApplyView(); SettingListViewModel.CommonSetting.View = new CommonSettingView(); SettingListViewModel.Privacy.View = new PrivacyView(); SettingListViewModel.HelpCenter.View = new HelpCenterView(); SettingListViewModel.FeedBack.View = new FeedBackView(); AppData.Current.InitializeDatasAsync(); _mainMV.NaviCommand.Execute(_mainMV.ChatListVM); AppendInitialize(); _mainMV.ShowTip += (tip) => { Views.MessageTip.ShowTip(tip); }; this.Loaded += MainWindow_Loaded; this.LocationChanged += MainWindow_LocationChanged; this.SizeChanged += MainWindow_SizeChanged; }
public MainWindow(IMModels.LoginUser login) { InitializeComponent(); UItaskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); this.GotFocus += MainWindow_GotFocus; this.Activated += MainWindow_Activated; this.PreviewMouseDown += MainWindow_MouseDown; _mainMV = new MainViewModel(this, login); _mainMV.MainTitle = login.User.PhoneNumber; _mainMV.OnForceOffline += _mainMV_OnForceOffline; _mainMV.OnChangeTrayWindowSize += _mainMV_OnChangeTrayWindowSize; _mainMV.OnCloseTrayWindow += _mainMV_OnCloseTrayWindow; //初始化基本数据 _mainMV.ChatListVM = new ChatListView().ViewModel as ChatListViewModel; _mainMV.ChatListVM.OnFlashIcon += ChatListVM_OnFlashIcon; _mainMV.ChatListVM.GotWindowIsActive += ChatListVM_GotWindowIsActive; _mainMV.ChatListVM.OnCloseTrayWindow += ChatListVM_OnCloseTrayWindow; _mainMV.HisChatListVM = new TempChatListView().ViewModel as TempChatListViewModel; _mainMV.ChatHistoryListVM = new HistoryChatListView().ViewModel as HistoryChatListViewModel; // _mainMV.HisChatListVM.GotWindowIsActive += ChatListVM_GotWindowIsActive; // _mainMV.HisChatListVM.OnCloseTrayWindow += ChatListVM_OnCloseTrayWindow; _mainMV.SettingListVM = new SettingListView().ViewModel as SettingListViewModel; Task.Run(async() => { _mainMV.CommonReply = await SDKClient.SDKClient.Instance.GetQuickReplycontext(1); _mainMV.PersonalReply = await SDKClient.SDKClient.Instance.GetQuickReplycontext(2); }).ContinueWith(t => { _mainMV.SettingListVM.LoadDatas(); }, UItaskScheduler); AppData.Current.InitializeDatas(); this.DataContext = ViewModel = _mainMV; _mainMV.NaviCommand.Execute(_mainMV.ChatListVM); AppendInitialize(); _mainMV.ShowTip += (tip) => { Views.MessageTip.ShowTip(tip); }; }
private void LoginViewModel_OnLoginSuccess(IMModels.LoginUser login) { var loginWin = this.MainWindow; var mainWindow = new MainWindow(login); this.MainWindow = mainWindow; mainWindow.Closed += MainWindow_Closed; mainWindow.Closing += MainWindow_Closing; mainWindow.OnFlashIcon += MainWindow_OnFlashIcon; mainWindow.OnCloseTrayWindow += MainWindow_OnCloseTrayWindow; mainWindow.OnChangeTrayWindowSize += MainWindow_OnChangeTrayWindowSize; mainWindow.Show(); loginWin.Close(); _trayIcon.Icon = _appIcon = new System.Drawing.Icon(LogoIcon); ModifyTrayIcon(); _trayIcon.Text = $"可访\r\n{login.User.Name}({login.User.PhoneNumber})"; _iconFlashTimer = new DispatcherTimer(); _iconFlashTimer.Interval = TimeSpan.FromSeconds(0.4); _iconFlashTimer.Tick += _iconFlashTimer_Tick; }