/// <summary> /// ViewModel 資料初始化 /// </summary> /// <returns></returns> private async Task ViewModelInit() { ChatContentCollection.Clear(); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "我最近手機掉了,更換了電話號碼", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "這是我的新電話號碼 0987654321", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = "妳現在在哪裡呀?", 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); await Task.Delay(100); }
/// <summary> /// ViewModel 資料初始化 /// </summary> /// <returns></returns> private async Task ViewModelInit() { ChatContentCollection.Clear(); //ChatContentCollection.Add(new ChatContent //{ // 對話人圖片 = Girl, // 對話內容 = "我最近手機掉了,更換了電話號碼", // 對話類型 = 對話類型.他人, // 對話文字顏色 = Color.Green //}); //ChatContentCollection.Add(new ChatContent //{ // 對話人圖片 = Girl, // 對話內容 = "這是我的新電話號碼 0987654321", // 對話類型 = 對話類型.他人, // 對話文字顏色 = Color.Green //}); //ChatContentCollection.Add(new ChatContent //{ // 對話人圖片 = Boy, // 對話內容 = "妳現在在哪裡呀?", // 對話類型 = 對話類型.自己, // 對話文字顏色 = Color.Purple //}); var fooMyUser = new LoginRepository(); await fooMyUser.ReadAsync(); UserName = fooMyUser.Item.MyUser.UserName; await Task.Delay(100); }
public void OnNavigatedTo(NavigationParameters parameters) { if (parameters.ContainsKey("title")) { Title = (string)parameters["title"] + " and Prism"; } ChatContentCollection.Clear(); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "我最近手機掉了,更換了電話號碼", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "這是我的新電話號碼 0987654321", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = "妳現在在哪裡呀?", 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); }
public void OnNavigatedTo(INavigationParameters parameters) { ChatContentCollection.Clear(); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "我最近手機掉了,更換了電話號碼", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "這是我的新電話號碼 0987654321", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = "妳現在在哪裡呀?", 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); }
/// <summary> /// ViewModel 資料初始化 /// </summary> /// <returns></returns> private async Task ViewModelInit() { ChatContentCollection.Clear(); var fooMyUser = new LoginRepository(); await fooMyUser.ReadAsync(); UserName = fooMyUser.Item.MyUser.UserName; UserID = fooMyUser.Item.MyUser.UserID; await Task.Delay(100); }
public MainPageViewModel() { 送出Command = new DelegateCommand(() => { if (送出對話內容 == "1") { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = "妳是小蕙嗎? 好久不見了", 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "沒想到你還記得我", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); } else if (送出對話內容 == "2") { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = "明天出來喝咖啡吧", 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "好呀 ~~", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); } else { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = 送出對話內容, 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); } 送出對話內容 = ""; }); }
public MainPageViewModel(INavigationService navigationService, IEventAggregator eventAggregator, IPageDialogService dialogService) { #region 相依性服務注入的物件 _dialogService = dialogService; _eventAggregator = eventAggregator; _navigationService = navigationService; #endregion #region 頁面中綁定的命令 送出Command = new DelegateCommand(() => { if (送出對話內容 == "1") { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = "妳是小蕙嗎? 好久不見了", 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "沒想到你還記得我", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); } else if (送出對話內容 == "2") { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = "明天出來喝咖啡吧", 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); ChatContentCollection.Add(new ChatContent { 話人圖片 = Girl, 話內容 = "好呀 ~~", 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); } else { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = 送出對話內容, 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); } 送出對話內容 = ""; }); #endregion #region 事件聚合器訂閱 #endregion }
public ChatPageViewModel(INavigationService navigationService, IEventAggregator eventAggregator, IPageDialogService dialogService) { #region 相依性服務注入的物件 _dialogService = dialogService; _eventAggregator = eventAggregator; _navigationService = navigationService; #endregion #region 頁面中綁定的命令 //SignalRClient.OnMessageReceived += _OnMessageReceived; //void _OnMessageReceived(object sender,Message e) //{ // ChatContentCollection.Add(new ChatContent // { // 姓名 = e.UserName, // 姓名文字顏色 = Color.Blue, // 對話人圖片 = Girl, // 對話內容 = e.MessageText, // 對話類型 = 對話類型.他人, // 對話文字顏色 = Color.Green // }); //} //SignalRClient.OnMessageReceived += (Message message) => { // if (message.UserName != UserName)//MainHelper.UserLoginService.Item.MyUser.UserName) // ChatContentCollection.Add(new ChatContent // { // 姓名= message.UserName, // 姓名文字顏色 = Color.Blue, // 對話人圖片 = Girl, // 對話內容 = message.MessageText, // 對話類型 = 對話類型.他人, // 對話文字顏色 = Color.Green // }); //}; SignalRClient.OnMessageReceived += (username, message) => { if (username != UserName)//MainHelper.UserLoginService.Item.MyUser.UserName) { ChatContentCollection.Add(new ChatContent { 姓名 = username, 姓名文字顏色 = Color.Blue, 話人圖片 = Girl, 話內容 = message, 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); } }; 送出Command = new DelegateCommand(() => { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = 送出對話內容, 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); //SignalRClient.SendMessage(UserName, 送出對話內容);//MainHelper.UserLoginService.Item.MyUser.UserName SignalRClient.SendMessage(new Message { UserName = UserName, MessageText = 送出對話內容 }); //if (送出對話內容 == "1") //{ // ChatContentCollection.Add(new ChatContent // { // 對話人圖片 = Boy, // 對話內容 = "妳是小蕙嗎? 好久不見了", // 對話類型 = 對話類型.自己, // 對話文字顏色 = Color.Purple // }); // ChatContentCollection.Add(new ChatContent // { // 對話人圖片 = Girl, // 對話內容 = "沒想到你還記得我", // 對話類型 = 對話類型.他人, // 對話文字顏色 = Color.Green // }); //} //else if (送出對話內容 == "2") //{ // ChatContentCollection.Add(new ChatContent // { // 對話人圖片 = Boy, // 對話內容 = "明天出來喝咖啡吧", // 對話類型 = 對話類型.自己, // 對話文字顏色 = Color.Purple // }); // ChatContentCollection.Add(new ChatContent // { // 對話人圖片 = Girl, // 對話內容 = "好呀 ~~", // 對話類型 = 對話類型.他人, // 對話文字顏色 = Color.Green // }); //} //else //{ // ChatContentCollection.Add(new ChatContent // { // 對話人圖片 = Boy, // 對話內容 = 送出對話內容, // 對話類型 = 對話類型.自己, // 對話文字顏色 = Color.Purple // }); //} 送出對話內容 = ""; }); #endregion #region 事件聚合器訂閱 #endregion //show an error if the connection doesn't succeed for some reason SignalRClient.Start().ContinueWith(task => { if (task.IsFaulted) { //MainPage.DisplayAlert("Error", "An error occurred when trying to connect to SignalR: " + task.Exception.InnerExceptions[0].Message, "OK"); Acr.UserDialogs.UserDialogs.Instance.Alert(task.Exception.InnerExceptions[0].Message, "警告", "確定"); } }); //try to reconnect every 10 seconds, just in case Device.StartTimer(TimeSpan.FromSeconds(10), () => { if (!SignalRClient.IsConnectedOrConnecting) { SignalRClient.Start(); } return(true); }); }
public ChatGroupPageViewModel(INavigationService navigationService, IEventAggregator eventAggregator, IPageDialogService dialogService) { #region 相依性服務注入的物件 _dialogService = dialogService; _eventAggregator = eventAggregator; _navigationService = navigationService; #endregion #region 頁面中綁定的命令 SignalRGroupClient.OnMessageReceived += (message) => { if (message.UserID != UserID)//MainHelper.UserLoginService.Item.MyUser.UserName) { ChatContentCollection.Add(new ChatContent { 姓名 = message.UserName, 姓名文字顏色 = Color.Blue, 話人圖片 = Girl, 話內容 = message.MessageText, 話類型 = 話類型.他人, 話文字顏色 = Color.Green }); } }; /* * SignalRGroupClient.OnMessageReceived += (username, message) => { * if (username != UserName)//MainHelper.UserLoginService.Item.MyUser.UserName) * ChatContentCollection.Add(new ChatContent * { * 姓名 = username, * 姓名文字顏色 = Color.Blue, * 對話人圖片 = Girl, * 對話內容 = message, * 對話類型 = 對話類型.他人, * 對話文字顏色 = Color.Green * }); * }; */ 送出Command = new DelegateCommand(() => { ChatContentCollection.Add(new ChatContent { 話人圖片 = Boy, 話內容 = 送出對話內容, 話類型 = 話類型.自己, 話文字顏色 = Color.Purple }); SignalRGroupClient.SendMessage(1004, UserID, 送出對話內容);//MainHelper.UserLoginService.Item.MyUser.UserName 送出對話內容 = ""; }); #endregion #region 事件聚合器訂閱 #endregion //show an error if the connection doesn't succeed for some reason SignalRGroupClient.Start().ContinueWith(task => { if (task.IsFaulted) { //MainPage.DisplayAlert("Error", "An error occurred when trying to connect to SignalR: " + task.Exception.InnerExceptions[0].Message, "OK"); Acr.UserDialogs.UserDialogs.Instance.Alert(task.Exception.InnerExceptions[0].Message, "警告", "確定"); } SignalRGroupClient.CreateRoom(1004, "聊天室1"); }); //try to reconnect every 10 seconds, just in case Device.StartTimer(TimeSpan.FromSeconds(10), () => { if (!SignalRGroupClient.IsConnectedOrConnecting) { SignalRGroupClient.Start(); } return(true); }); }