修复设计模式下控件仍连接设备并更新图像的问题:修改DeviceManager的ConnectDevice和Initialize方法,在设计模式下不设置连接成功状态

This commit is contained in:
zqm
2025-10-29 15:16:41 +08:00
parent 5517ef2814
commit c98b187312

View File

@@ -508,13 +508,13 @@ namespace JoyD.Windows.CS.Toprie
{
Log($"[{DateTime.Now:HH:mm:ss.fff}] [线程:{Thread.CurrentThread.ManagedThreadId}] Initialize() - 开始执行初始化");
// 在设计模式下,跳过实际初始化,直接返回成功
// 在设计模式下,跳过实际初始化,不设置连接成功状态
if (IsDesignMode)
{
Log("设计模式下跳过实际初始化,模拟初始化成功");
_isInitialized = true;
_connectionStatus = ConnectionStatus.Connected;
return true;
Log("设计模式下跳过实际初始化");
_isInitialized = true; // 仍然标记为已初始化,避免重复初始化
_connectionStatus = ConnectionStatus.Disconnected; // 设置为断开状态,避免触发图像接收
return false; // 返回false避免Camera认为初始化成功
}
// 双重检查锁定模式,确保线程安全的初始化
@@ -2965,14 +2965,15 @@ namespace JoyD.Windows.CS.Toprie
{
try
{
// 在设计模式下,跳过实际连接,直接模拟连接成功
// 在设计模式下,跳过实际连接,不设置真实的连接状态
if (IsDesignMode)
{
Log("设计模式下跳过实际设备连接,模拟连接成功");
Log("设计模式下跳过实际设备连接");
// 不设置真实的连接状态,避免触发图像接收
_currentDeviceId = deviceId;
_isConnected = true;
_connectionStatus = ConnectionStatus.Connected;
UpdateConnectionStatus(ConnectionStatus.Connected, "设计模式:设备模拟连接成功");
_isConnected = false;
_connectionStatus = ConnectionStatus.Disconnected;
UpdateConnectionStatus(ConnectionStatus.Disconnected, "设计模式:跳过设备连接");
return;
}