protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); Message.Initialize(typeof(AddCharacterMessage).GetTypeInfo().Assembly); Server = new NetworkClient(((ClientPageParameters)e.Parameter).Hostname, 5000, new DelegateMessageProcessingModule <AddCharacterMessage>((message, server) => PlayBoard.AddCharacter(message.NewCharacter)), new DelegateMessageProcessingModule <MoveCharacterMessage>((message, server) => PlayBoard.MoveCharacter(message.TargetCharacter)), new DelegateMessageProcessingModule <RemoveCharacterMessage>((message, server) => PlayBoard.RemoveCharacter(message.OldCharacter)), new DelegateMessageProcessingModule <BoardLinesMessage>(async(message, server) => { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() => { MemoryStream Buffer = new MemoryStream(message.Data); await PlayBoard.GetDrawCanvas().InkPresenter.StrokeContainer.LoadAsync(Buffer.AsInputStream()); }); }), new DelegateMessageProcessingModule <CameraMovedMessage>((message, server) => PlayBoard.SetCamera(message.HorizontalOffset, message.VerticalOffset, message.ZoomFactor)), new DelegateMessageProcessingModule <FreezeMessage>(async(message, server) => { await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { if (message.Freeze) { FreezeBoard(); } else { UnFreezeBoard(); } }); }) ); PlayBoard.GetDrawCanvas().InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.None; PlayBoard.ScrollbarsVisible = false; }