| 1 | <Page |
| 2 | x:Class="WslSettings.Views.Settings.OptionalFeaturesPage" |
| 3 | xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| 4 | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| 5 | xmlns:ctControls="using:CommunityToolkit.WinUI.Controls" |
| 6 | xmlns:behaviors="using:WslSettings.Behaviors" |
| 7 | xmlns:controls="using:WslSettings.Controls" |
| 8 | behaviors:NavigationViewHeaderBehavior.HeaderMode="Never"> |
| 9 | |
| 10 | <Grid Margin="{ThemeResource ContentPageMargin}" |
| 11 | IsTabStop="True" |
| 12 | AutomationProperties.LandmarkType="Main" |
| 13 | x:Name="OptionalFeaturesPageRoot"> |
| 14 | <Grid.RowDefinitions> |
| 15 | <RowDefinition Height="Auto" /> |
| 16 | <RowDefinition Height="Auto" /> |
| 17 | <RowDefinition Height="*" /> |
| 18 | </Grid.RowDefinitions> |
| 19 | <TextBlock x:Uid="Settings_OptionalFeaturesPageTitle" Style="{ThemeResource PageHeaderTextBlockStyle}" Margin="{StaticResource MediumSmallBottomMargin}" HorizontalAlignment="Left" AutomationProperties.HeadingLevel="Level1"/> |
| 20 | <TextBlock x:Uid="Settings_ErrorTryAgainLater" x:Name="Settings_ErrorTryAgainLater" Grid.Row="1" HorizontalAlignment="Left" AutomationProperties.LiveSetting="Assertive" |
| 21 | Visibility="{x:Bind ViewModel.ErrorVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource BooleanToVisibilityConverter}}"/> |
| 22 | <ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto" |
| 23 | Visibility="{x:Bind ViewModel.SettingsContentVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource BooleanToVisibilityConverter}}"> |
| 24 | <StackPanel Spacing="{StaticResource SettingsCardSpacing}"> |
| 25 | <ctControls:SettingsCard x:Uid="Settings_AutoMemoryReclaim"> |
| 26 | <ComboBox x:Uid="Settings_AutoMemoryReclaimComboBox" Style="{StaticResource ComboBoxSettingStyle}" HorizontalAlignment="Right" |
| 27 | ItemsSource="{x:Bind ViewModel.MemoryReclaimModes}" SelectedIndex="{x:Bind ViewModel.MemoryReclaimModeSelected, Mode=TwoWay}"/> |
| 28 | </ctControls:SettingsCard> |
| 29 | <ctControls:SettingsCard x:Uid="Settings_GUIApplications"> |
| 30 | <ctControls:SettingsCard.Description> |
| 31 | <controls:HyperlinkTextBlock x:Uid="Settings_GUIApplicationsDescription"/> |
| 32 | </ctControls:SettingsCard.Description> |
| 33 | <ToggleSwitch x:Uid="Settings_GUIApplicationsToggleSwitch" HorizontalAlignment="Right" IsOn="{x:Bind ViewModel.IsOnGUIApplications, Mode=TwoWay}"/> |
| 34 | </ctControls:SettingsCard> |
| 35 | <ctControls:SettingsCard x:Uid="Settings_NestedVirtualization"> |
| 36 | <ToggleSwitch x:Uid="Settings_NestedVirtualizationToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnNestedVirtualization, Mode=TwoWay}"/> |
| 37 | </ctControls:SettingsCard> |
| 38 | <ctControls:SettingsCard x:Uid="Settings_SafeMode"> |
| 39 | <ToggleSwitch x:Uid="Settings_SafeModeToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnSafeMode, Mode=TwoWay}"/> |
| 40 | </ctControls:SettingsCard> |
| 41 | <ctControls:SettingsCard x:Uid="Settings_SparseVHD"> |
| 42 | <ToggleSwitch x:Uid="Settings_SparseVHDToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnSparseVHD, Mode=TwoWay}"/> |
| 43 | </ctControls:SettingsCard> |
| 44 | <ctControls:SettingsCard x:Uid="Settings_KeepWslRunning"> |
| 45 | <ToggleSwitch x:Uid="Settings_KeepWslRunningToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnKeepWslRunning, Mode=TwoWay}"/> |
| 46 | </ctControls:SettingsCard> |
| 47 | <ctControls:SettingsExpander x:Name="VMIdleTimeoutExpander" x:Uid="Settings_VMIdleTimeout" IsEnabled="{x:Bind ViewModel.VMIdleTimeoutEnabled, Mode=OneWay}"> |
| 48 | <TextBlock Style="{StaticResource TextBlockSettingStyle}" Text="{x:Bind ViewModel.VMIdleTimeout, Mode=OneWay, Converter={StaticResource MillisecondsStringConverter}}"/> |
| 49 | <ctControls:SettingsExpander.Items> |
| 50 | <ctControls:SettingsCard HorizontalContentAlignment="Left" ContentAlignment="Left" Margin="{StaticResource SettingsExpanderItemMargin}"> |
| 51 | <StackPanel Orientation="Horizontal"> |
| 52 | <TextBox x:Name="VMIdleTimeoutTextBox" x:Uid="Settings_VMIdleTimeoutTextBox" Style="{StaticResource TextBoxFilePathStyle}" Margin="{StaticResource InputControlSpacingMargin}" |
| 53 | Text="{x:Bind ViewModel.VMIdleTimeout, Mode=TwoWay, UpdateSourceTrigger=LostFocus}" TextChanged="VMIdleTimeoutTextBox_TextChanged"/> |
| 54 | <Button x:Uid="Settings_VMIdleTimeoutResetButton" Style="{StaticResource ButtonSettingStyle}" Margin="{StaticResource InputControlSpacingMargin}" |
| 55 | Command="{x:Bind ViewModel.VMIdleTimeout_ResetCommand}" IsEnabled="{x:Bind ViewModel.VMIdleTimeout_ResetEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" |
| 56 | Click="Settings_ResetButton_Click"/> |
| 57 | </StackPanel> |
| 58 | </ctControls:SettingsCard> |
| 59 | </ctControls:SettingsExpander.Items> |
| 60 | </ctControls:SettingsExpander> |
| 61 | <ctControls:SettingsExpander x:Name="InstanceIdleTimeoutExpander" x:Uid="Settings_InstanceIdleTimeout" IsEnabled="{x:Bind ViewModel.InstanceIdleTimeoutEnabled, Mode=OneWay}"> |
| 62 | <TextBlock Style="{StaticResource TextBlockSettingStyle}" Text="{x:Bind ViewModel.InstanceIdleTimeout, Mode=OneWay, Converter={StaticResource MillisecondsStringConverter}}"/> |
| 63 | <ctControls:SettingsExpander.Items> |
| 64 | <ctControls:SettingsCard HorizontalContentAlignment="Left" ContentAlignment="Left" Margin="{StaticResource SettingsExpanderItemMargin}"> |
| 65 | <StackPanel Orientation="Horizontal"> |
| 66 | <TextBox x:Name="InstanceIdleTimeoutTextBox" x:Uid="Settings_InstanceIdleTimeoutTextBox" Style="{StaticResource TextBoxFilePathStyle}" Margin="{StaticResource InputControlSpacingMargin}" |
| 67 | Text="{x:Bind ViewModel.InstanceIdleTimeout, Mode=TwoWay, UpdateSourceTrigger=LostFocus}" TextChanged="InstanceIdleTimeoutTextBox_TextChanged"/> |
| 68 | <Button x:Uid="Settings_InstanceIdleTimeoutResetButton" Style="{StaticResource ButtonSettingStyle}" Margin="{StaticResource InputControlSpacingMargin}" |
| 69 | Command="{x:Bind ViewModel.InstanceIdleTimeout_ResetCommand}" IsEnabled="{x:Bind ViewModel.InstanceIdleTimeout_ResetEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" |
| 70 | Click="Settings_ResetButton_Click"/> |
| 71 | </StackPanel> |
| 72 | </ctControls:SettingsCard> |
| 73 | </ctControls:SettingsExpander.Items> |
| 74 | </ctControls:SettingsExpander> |
| 75 | </StackPanel> |
| 76 | </ScrollViewer> |
| 77 | </Grid> |
| 78 | </Page> |