<Page
    x:Class="Microsoft.PowerToys.Settings.UI.Views.MouseUtilsPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
    xmlns:converters="using:Microsoft.PowerToys.Settings.UI.Converters"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:tkcontrols="using:CommunityToolkit.WinUI.Controls"
    xmlns:tkconverters="using:CommunityToolkit.WinUI.Converters"
    xmlns:ui="using:CommunityToolkit.WinUI"
    AutomationProperties.LandmarkType="Main"
    mc:Ignorable="d">
    <Page.Resources>
        <converters:FindMyMouseActivationIntToVisibilityConverter x:Key="FindMyMouseActivationIntToVisibilityConverter" />
        <tkconverters:BoolToVisibilityConverter
            x:Key="BoolToInvertedVisibilityConverter"
            FalseValue="Visible"
            TrueValue="Collapsed" />
    </Page.Resources>
    <controls:SettingsPageControl x:Uid="MouseUtils" ModuleImageSource="ms-appx:///Assets/Settings/Modules/MouseUtils.png">
        <controls:SettingsPageControl.ModuleContent>
            <StackPanel ChildrenTransitions="{StaticResource SettingsCardsAnimations}" Orientation="Vertical">
                <controls:SettingsGroup x:Uid="MouseUtils_FindMyMouse">
                    <tkcontrols:SettingsCard
                        x:Uid="MouseUtils_Enable_FindMyMouse"
                        HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/FindMyMouse.png}"
                        IsEnabled="{x:Bind ViewModel.IsFindMyMouseEnabledGpoConfigured, Mode=OneWay, Converter={StaticResource BoolNegationConverter}}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.IsFindMyMouseEnabled, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>
                    <InfoBar
                        x:Uid="GPO_SettingIsManaged"
                        IsClosable="False"
                        IsOpen="{x:Bind ViewModel.IsFindMyMouseEnabledGpoConfigured, Mode=OneWay}"
                        IsTabStop="{x:Bind ViewModel.IsFindMyMouseEnabledGpoConfigured, Mode=OneWay}"
                        Severity="Informational" />
                    <tkcontrols:SettingsExpander
                        x:Uid="MouseUtils_FindMyMouse_ActivationMethod"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE961;}"
                        IsEnabled="{x:Bind ViewModel.IsFindMyMouseEnabled, Mode=OneWay}"
                        IsExpanded="True">
                        <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.FindMyMouseActivationMethod, Mode=TwoWay}">
                            <ComboBoxItem x:Uid="MouseUtils_FindMyMouse_ActivationDoubleControlPress" />
                            <ComboBoxItem x:Uid="MouseUtils_FindMyMouse_ActivationDoubleRightControlPress" />
                            <ComboBoxItem x:Uid="MouseUtils_FindMyMouse_ActivationShakeMouse" />
                            <ComboBoxItem x:Uid="MouseUtils_FindMyMouse_ActivationCustomizedShortcut" />
                        </ComboBox>
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_ShakingMinimumDistance" Visibility="{x:Bind ViewModel.FindMyMouseActivationMethod, Converter={StaticResource FindMyMouseActivationIntToVisibilityConverter}, Mode=OneWay, ConverterParameter=2}">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="1000"
                                    Maximum="1000000"
                                    Minimum="0"
                                    SmallChange="100"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.FindMyMouseShakingMinimumDistance, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_ShakingIntervalMs" Visibility="{x:Bind ViewModel.FindMyMouseActivationMethod, Converter={StaticResource FindMyMouseActivationIntToVisibilityConverter}, Mode=OneWay, ConverterParameter=2}">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="1000"
                                    Maximum="10000"
                                    Minimum="100"
                                    SmallChange="100"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.FindMyMouseShakingIntervalMs, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_ShakingFactor" Visibility="{x:Bind ViewModel.FindMyMouseActivationMethod, Converter={StaticResource FindMyMouseActivationIntToVisibilityConverter}, Mode=OneWay, ConverterParameter=2}">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="100"
                                    Maximum="10000"
                                    Minimum="150"
                                    SmallChange="10"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.FindMyMouseShakingFactor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard
                                x:Uid="MouseUtils_FindMyMouse_ActivationShortcut"
                                HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}"
                                Visibility="{x:Bind ViewModel.FindMyMouseActivationMethod, Converter={StaticResource FindMyMouseActivationIntToVisibilityConverter}, Mode=OneWay, ConverterParameter=3}">
                                <controls:ShortcutControl MinWidth="{StaticResource SettingActionControlMinWidth}" HotkeySettings="{x:Bind Path=ViewModel.FindMyMouseActivationShortcut, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard ContentAlignment="Left">
                                <CheckBox x:Uid="MouseUtils_Prevent_Activation_On_Game_Mode" IsChecked="{x:Bind ViewModel.FindMyMouseDoNotActivateOnGameMode, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>

                    <tkcontrols:SettingsExpander
                        x:Uid="Appearance_Behavior"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEB3C;}"
                        IsEnabled="{x:Bind ViewModel.IsFindMyMouseEnabled, Mode=OneWay}"
                        IsExpanded="False">
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_OverlayOpacity">
                                <Slider
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    Maximum="100"
                                    Minimum="1"
                                    Value="{x:Bind ViewModel.FindMyMouseOverlayOpacity, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_BackgroundColor">
                                <controls:ColorPickerButton SelectedColor="{x:Bind Path=ViewModel.FindMyMouseBackgroundColor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_SpotlightColor">
                                <controls:ColorPickerButton SelectedColor="{x:Bind Path=ViewModel.FindMyMouseSpotlightColor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_SpotlightRadius">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="10"
                                    Minimum="5"
                                    SmallChange="1"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.FindMyMouseSpotlightRadius, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_SpotlightInitialZoom">
                                <Slider
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    Maximum="40"
                                    Minimum="1"
                                    Value="{x:Bind ViewModel.FindMyMouseSpotlightInitialZoom, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_FindMyMouse_AnimationDurationMs">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    IsEnabled="{x:Bind ViewModel.IsAnimationEnabledBySystem, Mode=OneWay}"
                                    LargeChange="100"
                                    Minimum="0"
                                    SmallChange="10"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.FindMyMouseAnimationDurationMs, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>
                    <InfoBar
                        x:Uid="MouseUtils_FindMyMouse_AnimationDurationMs_Disabled"
                        IsClosable="False"
                        IsOpen="True"
                        Severity="Informational"
                        Visibility="{x:Bind ViewModel.IsAnimationEnabledBySystem, Mode=OneWay, Converter={StaticResource BoolToInvertedVisibilityConverter}}" />
                    <tkcontrols:SettingsExpander
                        x:Uid="MouseUtils_FindMyMouse_ExcludedApps"
                        HeaderIcon="{ui:FontIcon Glyph=&#xECE4;}"
                        IsEnabled="{x:Bind ViewModel.IsFindMyMouseEnabled, Mode=OneWay}">
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard HorizontalContentAlignment="Stretch" ContentAlignment="Vertical">
                                <TextBox
                                    x:Uid="MouseUtils_FindMyMouse_ExcludedApps_TextBoxControl"
                                    MinWidth="240"
                                    MinHeight="160"
                                    AcceptsReturn="True"
                                    IsEnabled="{x:Bind ViewModel.IsFindMyMouseEnabled, Mode=OneWay}"
                                    ScrollViewer.IsVerticalRailEnabled="True"
                                    ScrollViewer.VerticalScrollBarVisibility="Visible"
                                    ScrollViewer.VerticalScrollMode="Enabled"
                                    Text="{x:Bind ViewModel.FindMyMouseExcludedApps, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                                    TextWrapping="Wrap" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>
                </controls:SettingsGroup>

                <controls:SettingsGroup x:Uid="MouseUtils_MouseHighlighter">
                    <tkcontrols:SettingsCard
                        x:Uid="MouseUtils_Enable_MouseHighlighter"
                        HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/MouseHighlighter.png}"
                        IsEnabled="{x:Bind ViewModel.IsHighlighterEnabledGpoConfigured, Mode=OneWay, Converter={StaticResource BoolNegationConverter}}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.IsMouseHighlighterEnabled, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>
                    <InfoBar
                        x:Uid="GPO_SettingIsManaged"
                        IsClosable="False"
                        IsOpen="{x:Bind ViewModel.IsHighlighterEnabledGpoConfigured, Mode=OneWay}"
                        IsTabStop="{x:Bind ViewModel.IsHighlighterEnabledGpoConfigured, Mode=OneWay}"
                        Severity="Informational" />
                    <tkcontrols:SettingsExpander
                        x:Uid="MouseUtils_MouseHighlighter_ActivationShortcut"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}"
                        IsEnabled="{x:Bind ViewModel.IsMouseHighlighterEnabled, Mode=OneWay}"
                        IsExpanded="True">
                        <controls:ShortcutControl MinWidth="{StaticResource SettingActionControlMinWidth}" HotkeySettings="{x:Bind Path=ViewModel.MouseHighlighterActivationShortcut, Mode=TwoWay}" />
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard ContentAlignment="Left">
                                <CheckBox x:Uid="MouseUtils_AutoActivate" IsChecked="{x:Bind ViewModel.MouseHighlighterAutoActivate, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>
                    <tkcontrols:SettingsExpander
                        x:Uid="Appearance_Behavior"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEB3C;}"
                        IsEnabled="{x:Bind ViewModel.IsMouseHighlighterEnabled, Mode=OneWay}">
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MouseHighlighter_PrimaryButtonClickColor">
                                <controls:AlphaColorPickerButton SelectedColor="{x:Bind Path=ViewModel.MouseHighlighterLeftButtonClickColor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MouseHighlighter_SecondaryButtonClickColor">
                                <controls:AlphaColorPickerButton SelectedColor="{x:Bind Path=ViewModel.MouseHighlighterRightButtonClickColor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MouseHighlighter_AlwaysColor">
                                <controls:AlphaColorPickerButton SelectedColor="{x:Bind Path=ViewModel.MouseHighlighterAlwaysColor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MouseHighlighter_HighlightRadius">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="10"
                                    Minimum="5"
                                    SmallChange="1"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.MouseHighlighterRadius, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MouseHighlighter_FadeDelayMs">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="100"
                                    Minimum="0"
                                    SmallChange="10"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.MouseHighlighterFadeDelayMs, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MouseHighlighter_FadeDurationMs">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="100"
                                    Minimum="0"
                                    SmallChange="10"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.MouseHighlighterFadeDurationMs, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>
                </controls:SettingsGroup>

                <controls:SettingsGroup x:Uid="MouseUtils_MouseJump">
                    <tkcontrols:SettingsCard
                        x:Uid="MouseUtils_Enable_MouseJump"
                        HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/MouseJump.png}"
                        IsEnabled="{x:Bind ViewModel.IsJumpEnabledGpoConfigured, Mode=OneWay, Converter={StaticResource BoolNegationConverter}}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.IsMouseJumpEnabled, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>
                    <InfoBar
                        x:Uid="GPO_SettingIsManaged"
                        IsClosable="False"
                        IsOpen="{x:Bind ViewModel.IsJumpEnabledGpoConfigured, Mode=OneWay}"
                        IsTabStop="{x:Bind ViewModel.IsJumpEnabledGpoConfigured, Mode=OneWay}"
                        Severity="Informational" />
                    <tkcontrols:SettingsCard
                        x:Uid="MouseUtils_MouseJump_ActivationShortcut"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}"
                        IsEnabled="{x:Bind ViewModel.IsMouseJumpEnabled, Mode=OneWay}">
                        <controls:ShortcutControl MinWidth="{StaticResource SettingActionControlMinWidth}" HotkeySettings="{x:Bind Path=ViewModel.MouseJumpActivationShortcut, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>
                    <tkcontrols:SettingsCard
                        x:Uid="MouseUtils_MouseJump_ThumbnailSize"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE740;}"
                        IsEnabled="{x:Bind ViewModel.IsMouseJumpEnabled, Mode=OneWay}">
                        <tkcontrols:SettingsCard.Description>
                            <StackPanel
                                Grid.Row="1"
                                Grid.Column="1"
                                Margin="0,4,0,0"
                                Orientation="Horizontal">
                                <TextBlock
                                    x:Uid="MouseUtils_MouseJump_ThumbnailSize_Description_Prefix"
                                    Margin="0,0,4,0"
                                    Style="{ThemeResource SecondaryTextStyle}" />
                                <TextBlock
                                    Margin="0,0,4,0"
                                    FontWeight="SemiBold"
                                    Style="{ThemeResource SecondaryTextStyle}"
                                    Text="{x:Bind ViewModel.MouseJumpThumbnailSize.Width, Mode=OneWay}" />
                                <TextBlock
                                    Margin="0,5,4,0"
                                    AutomationProperties.AccessibilityView="Raw"
                                    FontFamily="{ThemeResource SymbolThemeFontFamily}"
                                    FontSize="10"
                                    Foreground="{ThemeResource SystemBaseMediumColor}"
                                    Style="{ThemeResource SecondaryTextStyle}"
                                    Text="&#xE947;" />
                                <TextBlock
                                    Margin="0,0,4,0"
                                    FontWeight="SemiBold"
                                    Style="{ThemeResource SecondaryTextStyle}"
                                    Text="{x:Bind ViewModel.MouseJumpThumbnailSize.Height, Mode=OneWay}" />
                                <TextBlock
                                    x:Uid="MouseUtils_MouseJump_ThumbnailSize_Description_Suffix"
                                    Margin="0,0,4,0"
                                    Foreground="{ThemeResource SystemBaseMediumColor}"
                                    Style="{ThemeResource SecondaryTextStyle}" />
                            </StackPanel>
                        </tkcontrols:SettingsCard.Description>
                        <StackPanel
                            Grid.Column="2"
                            HorizontalAlignment="Right"
                            Orientation="Horizontal"
                            Spacing="8">
                            <Button
                                x:Uid="EditButton"
                                Width="40"
                                Height="36"
                                Content="&#xE70F;"
                                FontFamily="{ThemeResource SymbolThemeFontFamily}"
                                Style="{StaticResource SubtleButtonStyle}">
                                <ToolTipService.ToolTip>
                                    <TextBlock x:Uid="EditTooltip" />
                                </ToolTipService.ToolTip>
                                <Button.Flyout>
                                    <Flyout x:Uid="MouseJumpThumbnailSize_Edit" ShouldConstrainToRootBounds="False">
                                        <StackPanel Spacing="16">
                                            <NumberBox
                                                x:Uid="MouseUtils_MouseJump_ThumbnailSize_Edit_Width"
                                                Width="140"
                                                Minimum="160"
                                                SpinButtonPlacementMode="Compact"
                                                Value="{x:Bind ViewModel.MouseJumpThumbnailSize.Width, Mode=TwoWay}" />
                                            <NumberBox
                                                x:Uid="MouseUtils_MouseJump_ThumbnailSize_Edit_Height"
                                                Width="140"
                                                Minimum="120"
                                                SpinButtonPlacementMode="Compact"
                                                Value="{x:Bind ViewModel.MouseJumpThumbnailSize.Height, Mode=TwoWay}" />
                                        </StackPanel>
                                    </Flyout>
                                </Button.Flyout>
                            </Button>
                        </StackPanel>
                    </tkcontrols:SettingsCard>
                </controls:SettingsGroup>

                <controls:SettingsGroup x:Uid="MouseUtils_MousePointerCrosshairs">
                    <tkcontrols:SettingsCard
                        x:Uid="MouseUtils_Enable_MousePointerCrosshairs"
                        HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/MouseCrosshairs.png}"
                        IsEnabled="{x:Bind ViewModel.IsMousePointerCrosshairsEnabledGpoConfigured, Mode=OneWay, Converter={StaticResource BoolNegationConverter}}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.IsMousePointerCrosshairsEnabled, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>
                    <InfoBar
                        x:Uid="GPO_SettingIsManaged"
                        IsClosable="False"
                        IsOpen="{x:Bind ViewModel.IsMousePointerCrosshairsEnabledGpoConfigured, Mode=OneWay}"
                        IsTabStop="{x:Bind ViewModel.IsMousePointerCrosshairsEnabledGpoConfigured, Mode=OneWay}"
                        Severity="Informational" />
                    <tkcontrols:SettingsExpander
                        x:Uid="MouseUtils_MousePointerCrosshairs_ActivationShortcut"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}"
                        IsEnabled="{x:Bind ViewModel.IsMousePointerCrosshairsEnabled, Mode=OneWay}"
                        IsExpanded="True">
                        <controls:ShortcutControl MinWidth="{StaticResource SettingActionControlMinWidth}" HotkeySettings="{x:Bind Path=ViewModel.MousePointerCrosshairsActivationShortcut, Mode=TwoWay}" />
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard ContentAlignment="Left">
                                <CheckBox x:Uid="MouseUtils_AutoActivate" IsChecked="{x:Bind ViewModel.MousePointerCrosshairsAutoActivate, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>

                    <tkcontrols:SettingsExpander
                        x:Uid="Appearance_Behavior"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEB3C;}"
                        IsEnabled="{x:Bind ViewModel.IsMousePointerCrosshairsEnabled, Mode=OneWay}">
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsColor">
                                <controls:ColorPickerButton SelectedColor="{x:Bind Path=ViewModel.MousePointerCrosshairsColor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsOpacity">
                                <Slider
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    Maximum="100"
                                    Minimum="1"
                                    Value="{x:Bind ViewModel.MousePointerCrosshairsOpacity, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>

                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsRadius">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="10"
                                    Maximum="500"
                                    Minimum="1"
                                    SmallChange="1"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.MousePointerCrosshairsRadius, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>

                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsThickness">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="10"
                                    Maximum="50"
                                    Minimum="1"
                                    SmallChange="1"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.MousePointerCrosshairsThickness, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>

                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderColor">
                                <controls:ColorPickerButton SelectedColor="{x:Bind Path=ViewModel.MousePointerCrosshairsBorderColor, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>

                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsBorderSize">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="2"
                                    Maximum="50"
                                    Minimum="0"
                                    SmallChange="1"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.MousePointerCrosshairsBorderSize, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>

                            <tkcontrols:SettingsCard ContentAlignment="Left">
                                <CheckBox x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsAutoHide" IsChecked="{x:Bind ViewModel.MousePointerCrosshairsAutoHide, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>

                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_IsCrosshairsFixedLengthEnabled">
                                <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.MousePointerCrosshairsIsFixedLengthEnabled, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>

                            <tkcontrols:SettingsCard x:Uid="MouseUtils_MousePointerCrosshairs_CrosshairsFixedLength" IsEnabled="{x:Bind ViewModel.MousePointerCrosshairsIsFixedLengthEnabled, Mode=OneWay}">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="10"
                                    Minimum="1"
                                    SmallChange="1"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.MousePointerCrosshairsFixedLength, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>
                </controls:SettingsGroup>
            </StackPanel>
        </controls:SettingsPageControl.ModuleContent>
        <controls:SettingsPageControl.PrimaryLinks>
            <controls:PageLink x:Uid="LearnMore_MouseUtils" Link="https://aka.ms/PowerToysOverview_MouseUtilities" />
        </controls:SettingsPageControl.PrimaryLinks>
        <controls:SettingsPageControl.SecondaryLinks>
            <controls:PageLink Link="https://devblogs.microsoft.com/oldnewthing/author/oldnewthing" Text="Raymond Chen's Find My Mouse" />
            <controls:PageLink Link="https://michael-clayton.com/projects/fancymouse" Text="Michael Clayton's Mouse Jump (FancyMouse)" />
        </controls:SettingsPageControl.SecondaryLinks>
    </controls:SettingsPageControl>
</Page>
