private void HandleNavigationMessage(NavigationMessage message) { logger.Trace($"Got a navigation message [{message}]"); switch (message) { case NavigationMessage.Collections: NavigateToCollectionsModule(); break; case NavigationMessage.Import: shell.NavigateTo(typeof(IImportModule)); break; case NavigationMessage.Logs: shell.NavigateTo(typeof(ILogsModule)); break; case NavigationMessage.Tools: shell.NavigateTo(typeof(IToolsModule)); break; case NavigationMessage.Books: shell.NavigateTo(typeof(IBooksModule)); break; case NavigationMessage.Series: shell.NavigateTo(typeof(ISeriesModule)); break; case NavigationMessage.Notes: shell.NavigateTo(typeof(INotesModule)); break; case NavigationMessage.Settings: shell.NavigateTo(typeof(ISettingsModule)); break; default: throw new ArgumentException($"Unhandled navigation message {message}"); } }
/// <summary> /// 画面遷移を行う /// </summary> /// <param name="message"></param> private void NavigationPage(NavigationMessage message) { // 遷移先の画面インスタンスを生成する // message.Destinationと同名のPageクラスのインスタンスを生成する var nextPage = Activator.CreateInstance( Type.GetType($"{typeof(MainWindow).Namespace}.{message.Destination.ToString()}", false)) as Page; // 遷移先の画面が無い場合(バグ)、例外をスローする if (nextPage == null) { throw new NotImplementedException($"NavigationDestination:{message.Destination}"); } // ViewModelが明示的に指定されていた場合、DataContextへバインドする if (message.ViewModel != null) { nextPage.DataContext = message.ViewModel; } AssociatedObject.Navigate(nextPage); }
//Reply mail base on exist mail //use NavigationMessage private void ReplyMailFrom(object o) { if (o is object[]) { var parameters = o as object[]; if (null == parameters) { return; } var type = parameters[0] as Type; var extra = parameters[1] as MailMsgBase; var mail = new MailBase() { BodyHtml = extra.BodyHtmlText, BodyText = extra.BodyText, Subject = "RE: " + extra.Subject, ToAddresses = extra.From[0].Address }; var msg = new NavigationMessage(type, mail, Tokens.NavEdit); Messenger.Default.Send(msg, Tokens.Main); Messenger.Default.Send(msg, Tokens.Draft); } }
private bool OnBusMessage(Bus bus, Message msg) { switch (msg.Type) { case MessageType.Eos: StopIterating(); Close(false); OnEventChanged(PlayerEvent.EndOfStream); OnEventChanged(PlayerEvent.RequestNextTrack); break; case MessageType.StateChanged: if (msg.Src == playbin) { State old_state, new_state, pending_state; msg.ParseStateChanged(out old_state, out new_state, out pending_state); HandleStateChange(old_state, new_state, pending_state); } break; case MessageType.Buffering: int buffer_percent; msg.ParseBuffering(out buffer_percent); HandleBuffering(buffer_percent); break; case MessageType.Tag: Pad pad; TagList tag_list; msg.ParseTag(out pad, out tag_list); HandleTag(pad, tag_list); break; case MessageType.Error: Enum error_type; string err_msg, debug; msg.ParseError(out error_type, out err_msg, out debug); HandleError(error_type, err_msg, debug); break; case MessageType.Element: if (MissingPluginMessage.IsMissingPluginMessage(msg)) { string detail = MissingPluginMessage.GetInstallerDetail(msg); if (detail == null) { return(false); } if (missing_details.Contains(detail)) { Log.DebugFormat("Ignoring missing element details, already prompted ('{0}')", detail); return(false); } Log.DebugFormat("Saving missing element details ('{0}')", detail); missing_details.Add(detail); Log.Error("Missing GStreamer Plugin", MissingPluginMessage.GetDescription(msg), true); InstallPluginsContext install_context = new InstallPluginsContext(); Install.InstallPlugins(missing_details.ToArray(), install_context, OnInstallPluginsReturn); } else if (msg.Src == playbin && msg.Structure.Name == "playbin2-stream-changed") { HandleStreamChanged(); } else if (NavigationMessage.MessageGetType(msg) == NavigationMessageType.CommandsChanged) { dvd_manager.HandleCommandsChanged(playbin); } break; case MessageType.Application: string name; Structure s = msg.Structure; name = s.Name; if (String.IsNullOrEmpty(name) && name == "stream-changed") { video_manager.ParseStreamInfo(); } break; } return(true); }
private void ProcessNavigationMessage(NavigationMessage message) { CanInitiateConnect = !message.IsStartedByNfcRequest; }
private void OnNavigationMessageReceived(NavigationMessage msg) { MainFrame.Navigate(msg.DestinationPageType); }
public void OnNavigation(NavigationMessage navigationMessage) { if (navigationMessage == null) { throw new SystemException(); } var region = regionManager.Regions[RegionNames.WorkspaceRegion]; switch (navigationMessage.PageTitles) { case PageTitle.AddUser: ViewShower <AddUser> .ShowView(region, container); break; case PageTitle.UserAdmin: ViewShower <UserAdmin> .ShowView(region, container); break; case PageTitle.AddGroup: ViewShower <AddGroup> .ShowView(region, container); break; case PageTitle.ShippingMethodGridView: ViewShower <ShippingMethodGridView> .ShowView(region, container); break; case PageTitle.AddShippingMethod: ViewShower <ShippingMethodDetail> .ShowView(region, container); break; case PageTitle.OpenOrders: ViewShower <OpenOrders> .ShowView(region, container); break; case PageTitle.HomePage: break; case PageTitle.MetricsPage: break; case PageTitle.SettingsPage: break; case PageTitle.SecurityPage: break; case PageTitle.RestorePage: break; } //MessageBox.Show("public class ViewSelector: No View type defined"); }
public static void OnNavigation(LiveView liveView, NavigationMessage message) { liveView.Send(new NavigationResponse(LiveViewMessage.RESULT_EXIT)); }
public void CanGetItem() { var message = new NavigationMessage(new object()); message.Item.ShouldNotBeNull(); }
public void CanGetItemType() { var message = new NavigationMessage(typeof(object)); message.ItemType.ShouldBe(typeof(object)); }
/// <summary> /// Navigates to the view to add connection. /// </summary> public void AddConnection() { var message = new NavigationMessage(typeof(AddConnectionViewModel <T1, T2>)); _eventAggregator.PublishOnUIThread(message); }
public SaoPage() : base() { InitializeComponent(); zxing = new ZXingScannerView { Options = new ZXing.Mobile.MobileBarcodeScanningOptions() { TryHarder = true }, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand }; zxing.OnScanResult += (result) => Device.BeginInvokeOnMainThread(async() => { zxing.IsAnalyzing = false; zxing.IsScanning = false; try { zxing.IsTorchOn = false; } catch (Exception) { } //await DisplayAlert("Scanned Barcode", result.Text, "OK"); //连接地址则跳转 if (ToolsClass.IsUrl(result.Text)) { var msg = new NavigationMessage() { Paremeter = result.Text }; MessagingCenter.Send(msg, "AutoScanCode"); Navigation.RemovePage(this); //await Navigation.PushAsync(new WebViewPage(result.Text)); return; } else { await DisplayAlert("查询结果", "" + result.Text + "", "确定"); var msg = new NavigationMessage() { Paremeter = result.Text }; MessagingCenter.Send(msg, "AutoScanCode"); } await Navigation.PopAsync(); }); overlay = new MyZXingOverlay { TopText = "请对准条码/二维码", BottomText = "阴暗天气建议打开闪光灯", ShowFlashButton = true, ButtonText = "开灯" }; overlay.FlashButtonClicked += (sender, e) => { try { sender.BackgroundColor = Color.FromHex("7fadf7"); if (!zxing.IsTorchOn) { sender.Text = "关灯"; CrossLampState = true; zxing.IsTorchOn = true; } else { sender.Text = "开灯"; zxing.IsTorchOn = false; } } catch (Exception) { } }; var grid = new Grid { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, }; grid.Children.Add(zxing); grid.Children.Add(overlay); Content = grid; }
private void OnNavigationMessage(NavigationMessage msg) { Dispatcher.Invoke(() => { this.IsOpen = false; }); }
public void Handle(NavigationMessage message) { //Implementation for later possible windows }
public void CanNotGetItem() { var message = new NavigationMessage(typeof(object)); message.Item.ShouldBeNull(); }
private void HandleNavigationMessage(NavigationMessage obj) { this.ActionTree.ClearSelection(); this.ActionTree.SelectedTreeItem = this.ActionTree.Items[0]; }
/// <summary> /// Handles the specified message. /// </summary> /// <param name="message">The message to handle.</param> public void Handle(NavigationMessage message) { this.ThrowIfDisposed(_isDisposed); _navigator.Navigate(message); }
private void NavigateTo(NavigationMessage message) { this.AppFrame.Navigate(message.DestinationPage, message.Arguments); }
private void OnNavigationChange(NavigationMessage message) { var currentFragment = (MvxFragment)this.FragmentManager.Fragments.LastOrDefault(); Navigate(currentFragment.ViewModel); }
/// <inheritdoc/> public void View() { var message = new NavigationMessage(this); _eventAggregator.PublishOnUIThread(message); }
private void OnNavigation(NavigationMessage obj) { navigation.OnNavigation(obj); }