🚸 增加面板锁定功能, 防止设置为失焦关闭面板时 无法拖动项目至面板问题

This commit is contained in:
liufei
2022-05-25 15:57:29 +08:00
parent 39607bdcb5
commit 5d51b0dbe9
3 changed files with 33 additions and 4 deletions

View File

@@ -14,6 +14,12 @@
public static bool MARGIN_HIDE_AND_OTHER_SHOW = false; public static bool MARGIN_HIDE_AND_OTHER_SHOW = false;
/// <summary>
/// 是否锁定主面板 锁定后 不执行隐藏动作
/// </summary>
public static bool LOCK_APP_PANEL = false;
} }

View File

@@ -58,7 +58,8 @@
Drop="Wrap_Drop" Drop="Wrap_Drop"
BorderThickness="1" BorderThickness="1"
Effect="{DynamicResource EffectShadow2}" Effect="{DynamicResource EffectShadow2}"
Margin="5,0,5,5" Grid.ColumnSpan="2"> Margin="5,0,5,5" Grid.ColumnSpan="2"
PreviewMouseRightButtonDown="WrapCard_PreviewMouseRightButtonDown">
<hc:Card.Background> <hc:Card.Background>
<SolidColorBrush Color="AliceBlue" hc:GeometryEffect.GeometryEffect="20" Opacity="{Binding AppConfig.CardOpacity, Mode=TwoWay, Converter={StaticResource OpcityConvert}}"/> <SolidColorBrush Color="AliceBlue" hc:GeometryEffect.GeometryEffect="20" Opacity="{Binding AppConfig.CardOpacity, Mode=TwoWay, Converter={StaticResource OpcityConvert}}"/>
</hc:Card.Background> </hc:Card.Background>
@@ -69,6 +70,7 @@
<ContextMenu Width="200"> <ContextMenu Width="200">
<MenuItem Header="添加URL项目" Click="AddUrlIcon"/> <MenuItem Header="添加URL项目" Click="AddUrlIcon"/>
<MenuItem Header="添加系统项目" Click="AddSystemIcon"/> <MenuItem Header="添加系统项目" Click="AddSystemIcon"/>
<MenuItem x:Name="CardLockCM" Header="锁定主面板" Click="LockAppPanel"/>
</ContextMenu> </ContextMenu>
</hc:Card.ContextMenu> </hc:Card.ContextMenu>
<Grid> <Grid>

View File

@@ -198,7 +198,7 @@ namespace GeekDesk.Control.UserControls.PannelCard
//p.StartInfo.CreateNoWindow = false; //设置显示窗口 //p.StartInfo.CreateNoWindow = false; //设置显示窗口
p.StartInfo.UseShellExecute = true;//不使用操作系统外壳程序启动进程 p.StartInfo.UseShellExecute = true;//不使用操作系统外壳程序启动进程
//p.StartInfo.ErrorDialog = false; //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) if (appData.AppConfig.MarginHide)
@@ -216,7 +216,7 @@ namespace GeekDesk.Control.UserControls.PannelCard
} }
break;// c#好像不能case穿透 break;// c#好像不能case穿透
case IconStartType.DEFAULT_STARTUP: 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) if (appData.AppConfig.MarginHide)
@@ -240,7 +240,7 @@ namespace GeekDesk.Control.UserControls.PannelCard
} }
else else
{ {
if (appData.AppConfig.AppHideType == AppHideType.START_EXE) if (appData.AppConfig.AppHideType == AppHideType.START_EXE && !RunTimeStatus.LOCK_APP_PANEL)
{ {
//如果开启了贴边隐藏 则窗体不贴边才隐藏窗口 //如果开启了贴边隐藏 则窗体不贴边才隐藏窗口
if (appData.AppConfig.MarginHide) if (appData.AppConfig.MarginHide)
@@ -695,5 +695,26 @@ namespace GeekDesk.Control.UserControls.PannelCard
{ {
this.Cursor = Cursors.Arrow; this.Cursor = Cursors.Arrow;
} }
/// <summary>
/// 锁定/解锁主面板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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 = "锁定主面板";
}
}
} }
} }