修复单击Panel最大化按钮时Area未最大化的问题,添加WindowState监听器

This commit is contained in:
zqm
2025-11-04 15:20:07 +08:00
parent 7855d6c2aa
commit ac8d9ec6fd
2 changed files with 24 additions and 14 deletions

View File

@@ -112,6 +112,26 @@ watch(() => props.top, (newTop) => {
}
}, { immediate: true })
// 监听WindowState变化同步更新localState
watch(() => props.WindowState, (newState) => {
if (newState !== localState.value) {
localState.value = newState
// 如果是从外部设置为最大化,保存当前位置以便还原
if (newState === '最大化' || newState === 'maximized') {
maximizedFromPosition.value = {
width: originalPosition.value.width,
height: originalPosition.value.height,
left: originalPosition.value.left,
top: originalPosition.value.top
}
} else if (maximizedFromPosition.value) {
// 如果是从外部设置为正常状态,恢复保存的位置
originalPosition.value = { ...maximizedFromPosition.value }
}
}
}, { immediate: true })
// 根据状态计算尺寸和位置样式
const areaStyle = computed(() => {
if (isMaximized.value) {

View File

@@ -73,17 +73,6 @@ namespace JoyD.Windows.CS.Toprie
}
}
/// <summary>
/// 获取最近一次接收到的温度数据
/// </summary>
/// <summary>
/// 设备管理器温度数据接收事件处理
/// </summary>
// 显示错误的定时器
/// <summary>
/// 更新设计模式状态到DeviceManager
/// </summary>
@@ -422,6 +411,7 @@ namespace JoyD.Windows.CS.Toprie
/// <summary>
/// 启动相机
/// </summary>
@@ -907,7 +897,7 @@ namespace JoyD.Windows.CS.Toprie
if (DesignMode) return;
try
{
// 确保在UI线程上更新UI状态
// 确保在UI线程上更新UI
if (this.InvokeRequired)
{
this.Invoke(new Action<ConnectionStatusChangedEventArgs>(HandleConnectionStatusChanged), e);