private void MENUITEM_MessageBuffer_Click(object sender, RoutedEventArgs e) { MenuItem item = (sender as MenuItem); MessageBufferModel Selected = item.DataContext as MessageBufferModel; switch (item.Tag.ToString().ToUpper()) { case "MESSAGEBUFFERREMOVE": LIST_Messages.Items.Remove(Selected); ; break; } }
/// <summary> /// 删除一条显示的消息缓存 /// </summary> public bool RemoveMessageBufferItem(long FromNum) { foreach (var item in LIST_Messages.Items) { MessageBufferModel msg = item as MessageBufferModel; if (msg.Msg.FromLoginNumber == FromNum) { LIST_Messages.Items.Remove(msg); return(true); } } return(false); }
/// <summary> /// 判断是否有某个人的消息缓存 /// </summary> /// <param name="FromNum">发消息的人</param> /// <param name="Msg">返回的消息</param> /// <returns>是否有此人的消息</returns> public bool HasMessageBufferItem(long FromNum, out MessageBufferModel Msg) { foreach (var item in LIST_Messages.Items) { MessageBufferModel msg = item as MessageBufferModel; if (msg.Msg.FromLoginNumber == FromNum) { Msg = msg; return(true); } } Msg = null; return(false); }
private void ITEM_MessageBufferItem_MouseDoubleClick(object sender, MouseButtonEventArgs e) { MessageBufferModel msg = LIST_Messages.SelectedItem as MessageBufferModel; if (msg == null) { return; } if (GetUserByFriends(msg.From.UloginNumber ?? 0) != null) { new ChatForm(UserSource).Show(msg.From); } else { MessageBox.Show("未成为好友,无法交流"); } }
/// <summary> /// 更新一个消息缓存的显示,包括添加 /// </summary> /// <param name="Msg">消息</param> public void UpdateMessageBufferItem(MessageModel Msg) { MessageBufferModel UpdateItem = null; if (HasMessageBufferItem(Msg.FromLoginNumber, out UpdateItem)) { LIST_Messages.Items.Remove(UpdateItem); } String LastMsg = (Msg.MessageContent as MessageContent_Base).ToMessageContent(null).ToString(); if (Msg.MessageContent is MessageContent_Image) { LastMsg = "[图片]"; } LIST_Messages.Items.Insert(0, new MessageBufferModel() { MessageCount = MessageQueueBuffer[Msg.FromLoginNumber].Count, Msg = Msg, From = GetUserByFriends(Msg.FromLoginNumber), LastMessage = LastMsg, }); }