master
xaml 80 lines 7.25 KB
Raw
1 <Page
2 x:Class="WslSettings.Views.Settings.NetworkingPage"
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 behaviors:NavigationViewHeaderBehavior.HeaderMode="Never">
8
9 <Grid Margin="{ThemeResource ContentPageMargin}"
10 IsTabStop="True"
11 AutomationProperties.LandmarkType="Main"
12 x:Name="NetworkingPageRoot">
13 <Grid.RowDefinitions>
14 <RowDefinition Height="Auto" />
15 <RowDefinition Height="Auto" />
16 <RowDefinition Height="*" />
17 </Grid.RowDefinitions>
18 <TextBlock x:Uid="Settings_NetworkingPageTitle" Style="{ThemeResource PageHeaderTextBlockStyle}" Margin="{StaticResource MediumSmallBottomMargin}" HorizontalAlignment="Left" AutomationProperties.HeadingLevel="Level1"/>
19 <TextBlock x:Uid="Settings_ErrorTryAgainLater" x:Name="Settings_ErrorTryAgainLater" Grid.Row="1" HorizontalAlignment="Left" AutomationProperties.LiveSetting="Assertive"
20 Visibility="{x:Bind ViewModel.ErrorVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource BooleanToVisibilityConverter}}"/>
21 <ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto"
22 Visibility="{x:Bind ViewModel.SettingsContentVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource BooleanToVisibilityConverter}}">
23 <StackPanel Spacing="{StaticResource SettingsCardSpacing}">
24 <ctControls:SettingsCard x:Uid="Settings_NetworkingMode">
25 <ComboBox x:Uid="Settings_NetworkingModeComboBox" Style="{StaticResource ComboBoxSettingStyle}" HorizontalAlignment="Right"
26 ItemsSource="{x:Bind ViewModel.NetworkingModes}" SelectedIndex="{x:Bind ViewModel.NetworkingModeSelected, Mode=TwoWay}"/>
27 </ctControls:SettingsCard>
28 <ctControls:SettingsCard x:Uid="Settings_HyperVFirewall">
29 <ToggleSwitch x:Uid="Settings_HyperVFirewallToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnHyperVFirewall, Mode=TwoWay}"/>
30 </ctControls:SettingsCard>
31 <ctControls:SettingsExpander x:Name="IgnoredPortsExpander" x:Uid="Settings_IgnoredPorts">
32 <TextBlock Style="{StaticResource TextBlockSettingStyle}" Text="{x:Bind ViewModel.IgnoredPorts, Mode=OneWay}"/>
33 <ctControls:SettingsExpander.Items>
34 <ctControls:SettingsCard HorizontalContentAlignment="Left" ContentAlignment="Left" Margin="{StaticResource SettingsExpanderItemMargin}">
35 <StackPanel Orientation="Horizontal">
36 <TextBox x:Name="IgnoredPortsTextBox" x:Uid="Settings_IgnoredPortsTextBox" Style="{StaticResource TextBoxSettingStyle}" Margin="{StaticResource InputControlSpacingMargin}"
37 Text="{x:Bind ViewModel.IgnoredPorts, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"/>
38 <Button x:Uid="Settings_IgnoredPortsResetButton" Style="{StaticResource ButtonSettingStyle}" Margin="{StaticResource InputControlSpacingMargin}"
39 Command="{x:Bind ViewModel.IgnoredPorts_ResetCommand}" IsEnabled="{x:Bind ViewModel.IgnoredPorts_ResetEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
40 Click="Settings_ResetButton_Click"/>
41 </StackPanel>
42 </ctControls:SettingsCard>
43 </ctControls:SettingsExpander.Items>
44 </ctControls:SettingsExpander>
45 <ctControls:SettingsCard x:Uid="Settings_LocalhostForwarding">
46 <ToggleSwitch x:Uid="Settings_LocalhostForwardingToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnLocalhostForwarding, Mode=TwoWay}"/>
47 </ctControls:SettingsCard>
48 <ctControls:SettingsCard x:Uid="Settings_HostAddressLoopback">
49 <ToggleSwitch x:Uid="Settings_HostAddressLoopbackToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnHostAddressLoopback, Mode=TwoWay}"/>
50 </ctControls:SettingsCard>
51 <ctControls:SettingsCard x:Uid="Settings_AutoProxy">
52 <ToggleSwitch x:Uid="Settings_AutoProxyToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnAutoProxy, Mode=TwoWay}"/>
53 </ctControls:SettingsCard>
54 <ctControls:SettingsExpander x:Name="InitialAutoProxyTimeoutExpander" x:Uid="Settings_InitialAutoProxyTimeout">
55 <TextBlock Style="{StaticResource TextBlockSettingStyle}" Text="{x:Bind ViewModel.InitialAutoProxyTimeout, Mode=OneWay, Converter={StaticResource MillisecondsStringConverter}}"/>
56 <ctControls:SettingsExpander.Items>
57 <ctControls:SettingsCard HorizontalContentAlignment="Left" ContentAlignment="Left" Margin="{StaticResource SettingsExpanderItemMargin}">
58 <StackPanel Orientation="Horizontal">
59 <TextBox x:Name="InitialAutoProxyTimeoutTextBox" x:Uid="Settings_InitialAutoProxyTimeoutTextBox" Style="{StaticResource TextBoxSettingStyle}" Margin="{StaticResource InputControlSpacingMargin}"
60 Text="{x:Bind ViewModel.InitialAutoProxyTimeout, Mode=TwoWay, UpdateSourceTrigger=LostFocus}" TextChanged="InitialAutoProxyTimeoutTextBox_TextChanged"/>
61 <Button x:Uid="Settings_InitialAutoProxyTimeoutResetButton" Style="{StaticResource ButtonSettingStyle}" Margin="{StaticResource InputControlSpacingMargin}"
62 Command="{x:Bind ViewModel.InitialAutoProxyTimeout_ResetCommand}" IsEnabled="{x:Bind ViewModel.InitialAutoProxyTimeout_ResetEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
63 Click="Settings_ResetButton_Click"/>
64 </StackPanel>
65 </ctControls:SettingsCard>
66 </ctControls:SettingsExpander.Items>
67 </ctControls:SettingsExpander>
68 <ctControls:SettingsCard x:Uid="Settings_DNSProxy">
69 <ToggleSwitch x:Uid="Settings_DNSProxyToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnDNSProxy, Mode=TwoWay}"/>
70 </ctControls:SettingsCard>
71 <ctControls:SettingsCard x:Uid="Settings_DNSTunneling">
72 <ToggleSwitch x:Uid="Settings_DNSTunnelingToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnDNSTunneling, Mode=TwoWay}"/>
73 </ctControls:SettingsCard>
74 <ctControls:SettingsCard x:Uid="Settings_BestEffortDNS">
75 <ToggleSwitch x:Uid="Settings_BestEffortDNSToggleSwitch" HorizontalAlignment="Right" MinWidth="0" IsOn="{x:Bind ViewModel.IsOnBestEffortDNS, Mode=TwoWay}"/>
76 </ctControls:SettingsCard>
77 </StackPanel>
78 </ScrollViewer>
79 </Grid>
80 </Page>