fix:无焦点功能状态丢失
This commit is contained in:
@@ -50,6 +50,9 @@ namespace Ink_Canvas
|
|||||||
// 墨迹渐隐管理器
|
// 墨迹渐隐管理器
|
||||||
private InkFadeManager _inkFadeManager;
|
private InkFadeManager _inkFadeManager;
|
||||||
|
|
||||||
|
// 设置面板相关状态
|
||||||
|
private bool userChangedNoFocusModeInSettings;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region Window Initialization
|
#region Window Initialization
|
||||||
@@ -1933,6 +1936,12 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
ApplyAlwaysOnTop();
|
ApplyAlwaysOnTop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 如果当前在设置面板中,标记用户已修改无焦点模式设置
|
||||||
|
if (BorderSettings.Visibility == Visibility.Visible)
|
||||||
|
{
|
||||||
|
userChangedNoFocusModeInSettings = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ToggleSwitchAlwaysOnTop_Toggled(object sender, RoutedEventArgs e)
|
private void ToggleSwitchAlwaysOnTop_Toggled(object sender, RoutedEventArgs e)
|
||||||
|
|||||||
@@ -364,11 +364,15 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
BorderSettings.Visibility = Visibility.Collapsed;
|
BorderSettings.Visibility = Visibility.Collapsed;
|
||||||
isOpeningOrHidingSettingsPane = false;
|
isOpeningOrHidingSettingsPane = false;
|
||||||
// 在设置面板完全关闭后,根据当前设置恢复无焦点模式
|
// 在设置面板完全关闭后,根据情况恢复无焦点模式状态
|
||||||
if (Settings.Advanced.IsNoFocusMode)
|
if (!userChangedNoFocusModeInSettings && wasNoFocusModeBeforeSettings)
|
||||||
{
|
{
|
||||||
|
// 如果用户没有在设置中修改无焦点模式,则恢复之前的状态
|
||||||
|
Settings.Advanced.IsNoFocusMode = true;
|
||||||
|
ToggleSwitchNoFocusMode.IsOn = true; // 同步更新设置面板中的开关状态
|
||||||
ApplyNoFocusMode();
|
ApplyNoFocusMode();
|
||||||
}
|
}
|
||||||
|
// 如果用户在设置中修改了无焦点模式,则保持用户的修改
|
||||||
};
|
};
|
||||||
|
|
||||||
BorderSettings.Visibility = Visibility.Visible;
|
BorderSettings.Visibility = Visibility.Visible;
|
||||||
@@ -2612,6 +2616,7 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
// 临时禁用无焦点模式以避免下拉选项被遮挡
|
// 临时禁用无焦点模式以避免下拉选项被遮挡
|
||||||
wasNoFocusModeBeforeSettings = Settings.Advanced.IsNoFocusMode;
|
wasNoFocusModeBeforeSettings = Settings.Advanced.IsNoFocusMode;
|
||||||
|
userChangedNoFocusModeInSettings = false; // 重置用户修改标志
|
||||||
if (wasNoFocusModeBeforeSettings)
|
if (wasNoFocusModeBeforeSettings)
|
||||||
{
|
{
|
||||||
Settings.Advanced.IsNoFocusMode = false;
|
Settings.Advanced.IsNoFocusMode = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user