diff --git a/Constant/RunTimeStatus.cs b/Constant/RunTimeStatus.cs index 81d6896..ba82f5a 100644 --- a/Constant/RunTimeStatus.cs +++ b/Constant/RunTimeStatus.cs @@ -14,6 +14,12 @@ public static bool MARGIN_HIDE_AND_OTHER_SHOW = false; + /// + /// 是否锁定主面板 锁定后 不执行隐藏动作 + /// + public static bool LOCK_APP_PANEL = false; + + } diff --git a/Control/UserControls/PannelCard/RightCardControl.xaml b/Control/UserControls/PannelCard/RightCardControl.xaml index 38f36bc..8974f54 100644 --- a/Control/UserControls/PannelCard/RightCardControl.xaml +++ b/Control/UserControls/PannelCard/RightCardControl.xaml @@ -58,7 +58,8 @@ Drop="Wrap_Drop" BorderThickness="1" Effect="{DynamicResource EffectShadow2}" - Margin="5,0,5,5" Grid.ColumnSpan="2"> + Margin="5,0,5,5" Grid.ColumnSpan="2" + PreviewMouseRightButtonDown="WrapCard_PreviewMouseRightButtonDown"> @@ -69,6 +70,7 @@ + diff --git a/Control/UserControls/PannelCard/RightCardControl.xaml.cs b/Control/UserControls/PannelCard/RightCardControl.xaml.cs index ebc1473..6570357 100644 --- a/Control/UserControls/PannelCard/RightCardControl.xaml.cs +++ b/Control/UserControls/PannelCard/RightCardControl.xaml.cs @@ -198,7 +198,7 @@ namespace GeekDesk.Control.UserControls.PannelCard //p.StartInfo.CreateNoWindow = false; //设置显示窗口 p.StartInfo.UseShellExecute = true;//不使用操作系统外壳程序启动进程 //p.StartInfo.ErrorDialog = false; - if (appData.AppConfig.AppHideType == AppHideType.START_EXE) + if (appData.AppConfig.AppHideType == AppHideType.START_EXE && !RunTimeStatus.LOCK_APP_PANEL) { //如果开启了贴边隐藏 则窗体不贴边才隐藏窗口 if (appData.AppConfig.MarginHide) @@ -216,7 +216,7 @@ namespace GeekDesk.Control.UserControls.PannelCard } break;// c#好像不能case穿透 case IconStartType.DEFAULT_STARTUP: - if (appData.AppConfig.AppHideType == AppHideType.START_EXE) + if (appData.AppConfig.AppHideType == AppHideType.START_EXE && !RunTimeStatus.LOCK_APP_PANEL) { //如果开启了贴边隐藏 则窗体不贴边才隐藏窗口 if (appData.AppConfig.MarginHide) @@ -240,7 +240,7 @@ namespace GeekDesk.Control.UserControls.PannelCard } else { - if (appData.AppConfig.AppHideType == AppHideType.START_EXE) + if (appData.AppConfig.AppHideType == AppHideType.START_EXE && !RunTimeStatus.LOCK_APP_PANEL) { //如果开启了贴边隐藏 则窗体不贴边才隐藏窗口 if (appData.AppConfig.MarginHide) @@ -695,5 +695,26 @@ namespace GeekDesk.Control.UserControls.PannelCard { this.Cursor = Cursors.Arrow; } + + /// + /// 锁定/解锁主面板 + /// + /// + /// + private void LockAppPanel(object sender, RoutedEventArgs e) + { + RunTimeStatus.LOCK_APP_PANEL = !RunTimeStatus.LOCK_APP_PANEL; + } + + private void WrapCard_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) + { + if (RunTimeStatus.LOCK_APP_PANEL) + { + CardLockCM.Header = "解锁主面板"; + } else + { + CardLockCM.Header = "锁定主面板"; + } + } } }