Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MessageList : ObservableCollection<LobbyMessage>
- {
- public MessageList(): base()
- {
- Add(new LobbyMessage() { Name = "System", Message = "Welcome!" });
- }
- }
- static public MessageList LobbyMessages { get; set; }
- ChatHelper.LobbyMessages = new MessageList();
- <ListBox IsSynchronizedWithCurrentItem="True"
- ItemsSource="{Binding Mode=OneWay}"
- x:Name="ListBoxChatMessages"
- d:UseSampleData="True"
- ItemTemplate="{DynamicResource MessageListTemplate}"
- IsEnabled="True">
- <ListBox.DataContext>
- <Magrathea_Words_Tools:MessageList/>
- </ListBox.DataContext>
- </ListBox>
- Helper.Context = SynchronizationContext.Current;
- #region IServiceMessageCallback Members
- /// <summary>
- /// Callback handler for when the service has a message for
- /// this client
- /// </summary>
- /// <param name="serviceMessage"></param>
- public void OnReceivedServiceMessage(ServiceMessage serviceMessage)
- {
- // This is being called from the WCF service on it's own thread so
- // we have to marshall the call back to this thread.
- SendOrPostCallback callback = delegate
- {
- switch (serviceMessage.MessageType)
- {
- case MessageType.ChatMessage:
- ChatHelper.LobbyMessages.Add(
- new LobbyMessage()
- {
- Name = serviceMessage.OriginatingPlayer.Name,
- Message = serviceMessage.Message
- });
- break;
- default:
- break;
- }
- };
- Helper.Context.Post(callback, null);
- }
- ListBoxChatMessages.ItemsSource = ChatHelper.LobbyMessages.Messages;
- <ListBox IsSynchronizedWithCurrentItem="True"
- ItemsSource="{Binding Mode=OneWay}" Background="#FF1F1F1F"
- Margin="223,18.084,15.957,67.787" x:Name="ListBoxChatMessages"
- ItemTemplate="{DynamicResource MessageListTemplate}"
- IsEnabled="True"/>
Add Comment
Please, Sign In to add comment