master
xaml 78 lines 7.15 KB
Raw
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>