/// <summary> /// Code that runs after page is loaded that will not execute properly until page is rendered. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Page_Loaded(object sender, RoutedEventArgs e) { _ = sender; // Discard unused parameter. _ = e; // Discard unused parameter. List <ToggleSwitch> listToggleSwitchesThisPage = new List <ToggleSwitch>() { TogSupportDisplacement, TogSupportRotation }; LibMPC.SizePageToggleSwitches(listToggleSwitchesThisPage); List <Button> listButton = new List <Button>() { ButSupportAdd, ButSupportReturn, ButSupportClear }; LibMPC.SizePageButtons(listButton); // Only one TextBox this pages so set MinWidth to above button widths. TboxSupportPosition.MinWidth = ButSupportClear.MinWidth; // Resize following defined support buttons separately since description is much longer. listButton = new List <Button>() { ButSupportDefined1, ButSupportDefined2 }; LibMPC.SizePageButtons(listButton); SetDefaultValuesSupport(); CommonItems.ButtonForegroundColorSet(ButSupportReturn, true); CommonItems.ButtonForegroundColorSet(ButSupportClear, CommonItems.boolEnteredSupport); }
/*** Page Events *******************************************************************************************************/ /// <summary> /// Set focus to ST_HButAboutToggles when page loads. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Page_Loaded(object sender, RoutedEventArgs e) { _ = sender; // Discard unused parameter. _ = e; // Discard unused parameter. // Hide XAML layout rectangles by setting to same color as RelativePanel Background; RectLayoutCenter.Fill = Rpanel.Background; RectLayoutLeft.Fill = Rpanel.Background; RectLayoutRight.Fill = Rpanel.Background; LibMPC.ButtonVisibility(mainPage.mainPageButAbout, false); LibMPC.ButtonVisibility(mainPage.mainPageButBack, true); LibMPC.ButtonVisibility(mainPage.mainPageButSettings, false); ButAppReset.Foreground = LibMPC.colorError; List <ToggleSwitch> listToggleSwitchesThisPage = new List <ToggleSwitch>() { TogExitApp, TogDeleteSecure, TogVerbose }; LibMPC.SizePageToggleSwitches(listToggleSwitchesThisPage); List <Button> listButtonsThisPage = new List <Button>() { ButAboutToggles, ButLockerReset, ButAppReset }; LibMPC.SizePageButtons(listButtonsThisPage); CboxLanguage.MinWidth = ButAboutToggles.ActualWidth; // Set CboxLanguage.MinWidth to value of other buttons on page. ButLockerReset.Foreground = LibMPC.colorError; LibMPC.OutputMsgSuccess(TblkPageTitle, mainPage.resourceLoader.GetString("ST_TblkPageTitle")); CboxLanguage.PlaceholderText = mainPage.resourceLoader.GetString("ST_CboxLanguage_PlaceholderText"); // XAML margin setting is 16,2,16,2. Margin Setting Order: left, top, right, bottom. // Margin for ToggleSwitches needs to be adjusted for some cultures to keep them centered. // TODO: Will need to add new item here if a new translation is added! switch (mainPage.stringCultureCurrent) { case "en-US": TogExitApp.Margin = new Thickness(29, 2, 2, 2); TogDeleteSecure.Margin = new Thickness(29, 2, 2, 2); TogVerbose.Margin = new Thickness(29, 2, 2, 2); break; case "en": TogExitApp.Margin = new Thickness(29, 2, 2, 2); TogDeleteSecure.Margin = new Thickness(29, 2, 2, 2); TogVerbose.Margin = new Thickness(29, 2, 2, 2); break; case "es": TogExitApp.Margin = new Thickness(17, 2, 2, 2); TogDeleteSecure.Margin = new Thickness(17, 2, 2, 2); TogVerbose.Margin = new Thickness(17, 2, 2, 2); break; case "hi": TogExitApp.Margin = new Thickness(17, 2, 2, 2); TogDeleteSecure.Margin = new Thickness(17, 2, 2, 2); TogVerbose.Margin = new Thickness(17, 2, 2, 2); break; case "fr": TogExitApp.Margin = new Thickness(17, 2, 2, 2); TogDeleteSecure.Margin = new Thickness(17, 2, 2, 2); TogVerbose.Margin = new Thickness(17, 2, 2, 2); break; case "zh-Hans": TogExitApp.Margin = new Thickness(44, 2, 2, 2); TogDeleteSecure.Margin = new Thickness(44, 2, 2, 2); TogVerbose.Margin = new Thickness(44, 2, 2, 2); break; default: // Throw exception so error can be discovered and corrected. throw new NotSupportedException($"Settings.Page_Loaded(): mainPage.stringCultureCurrent={mainPage.stringCultureCurrent} not found in switch statement."); } // TODO: Will need to add new item here if a new translation is added! CboxItem_LanguageDevice.Content = mainPage.resourceLoader.GetString("ST_CboxItem_LanguageDevice"); CboxItem_LanguageEN.Content = mainPage.resourceLoader.GetString("ST_CboxItem_LanguageEN"); CboxItem_LanguageES.Content = mainPage.resourceLoader.GetString("ST_CboxItem_LanguageES"); CboxItem_LanguageHI.Content = mainPage.resourceLoader.GetString("ST_CboxItem_LanguageHI"); CboxItem_LanguageFR.Content = mainPage.resourceLoader.GetString("ST_CboxItem_LanguageFR"); CboxItem_LanguageZH.Content = mainPage.resourceLoader.GetString("ST_CboxItem_LanguageZH"); CboxLanguage.SelectedIndex = DataStoreCultureIndex(); // Get saved index value from data store. LibMPC.OutputMsgNormal(TblkResult, mainPage.resourceLoader.GetString("ST_ModeToggleMsg")); // Change application configuration using above toggles. Click above button for more information about the toggles. LibMPC.OutputMsgBright(TblkLockerResetMsg, mainPage.GetLockerResetMsg()); // Get Locker Reset message. LibMPC.OutputMsgBright(TblkAppResetMsg, $"{mainPage.resourceLoader.GetString("ST_TblkAppResetMsg")} {mainPage.resourceLoader.GetString("UMP_Reset_Msg")}"); LibMPC.OutputMsgBright(TblkLanguageMsg, mainPage.resourceLoader.GetString("ST_TblkLanguageMsg")); // Select application language. Application will close if selection is changed. Selected language will load next application start. SetToggles(); // Set this before next line so initial return message will be cleared by next line. Don't want to see return message on page load. TblkResult.Text = string.Empty; // Setup scrolling for this page. LibMPC.ScrollViewerOn(mainPage.mainPageScrollViewer, ScrollMode.Disabled, vert: ScrollMode.Auto, horzVis: ScrollBarVisibility.Disabled, vertVis: ScrollBarVisibility.Auto, zoom: ZoomMode.Disabled); ButAboutToggles.Focus(FocusState.Programmatic); }