add:多屏支持
This commit is contained in:
@@ -57,6 +57,21 @@
|
||||
SwitchName="ToggleSwitchAvoidFullScreen"
|
||||
Toggled="ToggleSwitchAvoidFullScreen_Toggled" />
|
||||
|
||||
<controls:LabeledSettingsCard x:Name="CardMultiScreenSupport"
|
||||
Header="多屏支持"
|
||||
Description="启用后将根据当前显示器环境启用多屏逻辑"
|
||||
Icon="{x:Static ui:SegoeFluentIcons.BackToWindow}"
|
||||
SwitchName="ToggleSwitchMultiScreenSupport"
|
||||
Toggled="ToggleSwitchMultiScreenSupport_Toggled" />
|
||||
|
||||
<controls:LabeledSettingsCard x:Name="CardFollowMouseScreen"
|
||||
Header="自动跟随鼠标选择显示屏"
|
||||
Description="默认开启:自动以鼠标所在显示屏作为当前目标显示屏"
|
||||
Icon="{x:Static ui:SegoeFluentIcons.TouchPointer}"
|
||||
Visibility="{Binding IsOn, ElementName=CardMultiScreenSupport, Converter={StaticResource BooleanToVisibilityConverter}}"
|
||||
SwitchName="ToggleSwitchFollowMouseScreen"
|
||||
Toggled="ToggleSwitchFollowMouseScreen_Toggled" />
|
||||
|
||||
<ui:SettingsExpander x:Name="ExpanderAlwaysOnTop"
|
||||
Header="{i18n:I18n Key=Startup_TopMost}"
|
||||
Description="{i18n:I18n Key=Startup_TopMostHint}"
|
||||
|
||||
@@ -42,6 +42,8 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
|
||||
CardNoFocusMode.IsOn = settings.Advanced.IsNoFocusMode;
|
||||
CardWindowMode.IsOn = settings.Advanced.WindowMode;
|
||||
CardAvoidFullScreen.IsOn = settings.Advanced.IsEnableAvoidFullScreenHelper;
|
||||
CardMultiScreenSupport.IsOn = settings.Advanced.EnableMultiScreenSupport;
|
||||
CardFollowMouseScreen.IsOn = settings.Advanced.FollowMouseForScreenSelection;
|
||||
ToggleSwitchAlwaysOnTop.IsOn = settings.Advanced.IsAlwaysOnTop;
|
||||
|
||||
_topMostModeItems.Clear();
|
||||
@@ -215,6 +217,48 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleSwitchMultiScreenSupport_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!_isLoaded) return;
|
||||
|
||||
try
|
||||
{
|
||||
bool newState = CardMultiScreenSupport.IsOn;
|
||||
SettingsManager.Settings.Advanced.EnableMultiScreenSupport = newState;
|
||||
SettingsManager.SaveSettingsToFile();
|
||||
|
||||
if (Application.Current.MainWindow is MainWindow mainWindow)
|
||||
{
|
||||
mainWindow.ApplyMultiScreenSettings();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine($"设置多屏支持时出错: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleSwitchFollowMouseScreen_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!_isLoaded) return;
|
||||
|
||||
try
|
||||
{
|
||||
bool newState = CardFollowMouseScreen.IsOn;
|
||||
SettingsManager.Settings.Advanced.FollowMouseForScreenSelection = newState;
|
||||
SettingsManager.SaveSettingsToFile();
|
||||
|
||||
if (Application.Current.MainWindow is MainWindow mainWindow)
|
||||
{
|
||||
mainWindow.ApplyMultiScreenSettings();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine($"设置自动跟随鼠标选择显示屏时出错: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private void RadioTopMostNormal_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!_isLoaded) return;
|
||||
|
||||
Reference in New Issue
Block a user